From kde-panel-devel Tue Aug 31 02:15:44 2010 From: "Aaron Seigo" Date: Tue, 31 Aug 2010 02:15:44 +0000 To: kde-panel-devel Subject: Review Request: allow runners to suspend further match-spawning Message-Id: <20100831021544.7487.47693 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kde-panel-devel&m=128322099520393 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============1801604727==" --===============1801604727== Content-Type: multipart/alternative; boundary="===============1199785212603947895==" --===============1199785212603947895== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- 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 --===============1199785212603947895== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://reviewboard.kde= .org/r/5194/

Review request for Plasma.
By Aaron Seigo.

Descripti= on

Some AbstractRunner subclasses do some set up in their match=
 method which other threads need to wait on and it would be preferable if m=
ore threads for that runner were spawned until it was complete. See the kil=
l 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-a=
ble, 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.

Testing <= /h1>
Tried with kill runner, works charmingly.

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 View Diff

--===============1199785212603947895==-- --===============1801604727== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel --===============1801604727==--