[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Review Request: allow runners to suspend further match-spawning
From:       "Aaron Seigo" <aseigo () kde ! org>
Date:       2010-08-31 2:15:44
Message-ID: 20100831021544.7487.47693 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/5194/
-----------------------------------------------------------

Review request for Plasma.


Summary
-------

Some AbstractRunner subclasses do some set up in their match method which o=
ther threads need to wait on and it would be preferable if more threads for=
 that runner were spawned until it was complete. See the kill runner for an=
 example of this.

In most cases, though possibly not all (but certainly in the case of the Ki=
ll runner), this is done to avoid blocking in the slot connected to by prep=
are(). Even if the prepare()-connect slot is run in a separate thread, howe=
ver, there's still the need to mark the runner as not currently match-able,=
 preventing unwanted thread spawning.

This patch provides for this. It is complimentary and orthogonal to the ide=
a of runners with re-entrant match() methods.


Diffs
-----

  /trunk/KDE/kdelibs/plasma/abstractrunner.h 1169194 =

  /trunk/KDE/kdelibs/plasma/abstractrunner.cpp 1169194 =

  /trunk/KDE/kdelibs/plasma/private/abstractrunner_p.h 1169194 =

  /trunk/KDE/kdelibs/plasma/runnermanager.h 1169194 =

  /trunk/KDE/kdelibs/plasma/runnermanager.cpp 1169194 =


Diff: http://reviewboard.kde.org/r/5194/diff


Testing
-------

Tried with kill runner, works charmingly.


Thanks,

Aaron


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://reviewboard.kde.org/r/5194/">http://reviewboard.kde.org/r/5194/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: \
url('http://reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; \
background-repeat: repeat-x; border: 1px black solid;">  <tr>
  <td>

<div>Review request for Plasma.</div>
<div>By Aaron Seigo.</div>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Some AbstractRunner subclasses do some set \
up in their match method which other threads need to wait on and it would be preferable if more threads \
for that runner were spawned until it was complete. See the kill runner for an example of this.

In most cases, though possibly not all (but certainly in the case of the Kill runner), this is done to \
avoid blocking in the slot connected to by prepare(). Even if the prepare()-connect slot is run in a \
separate thread, however, there&#39;s still the need to mark the runner as not currently match-able, \
preventing unwanted thread spawning.

This patch provides for this. It is complimentary and orthogonal to the idea of runners with re-entrant \
match() methods.</pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Tried with kill runner, works \
charmingly.</pre>  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/KDE/kdelibs/plasma/abstractrunner.h <span style="color: grey">(1169194)</span></li>

 <li>/trunk/KDE/kdelibs/plasma/abstractrunner.cpp <span style="color: grey">(1169194)</span></li>

 <li>/trunk/KDE/kdelibs/plasma/private/abstractrunner_p.h <span style="color: grey">(1169194)</span></li>

 <li>/trunk/KDE/kdelibs/plasma/runnermanager.h <span style="color: grey">(1169194)</span></li>

 <li>/trunk/KDE/kdelibs/plasma/runnermanager.cpp <span style="color: grey">(1169194)</span></li>

</ul>

<p><a href="http://reviewboard.kde.org/r/5194/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>



_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic