Re: Release status.
- From: Jim McDonald <Jim mcdee net>
- To: dashboard-hackers gnome org
- Subject: Re: Release status.
- Date: Tue, 09 Dec 2003 13:28:53 +0000
On Tue, 2003-12-09 at 11:45, Nat Friedman wrote:
[Threadpool issue]
One possible solution is to move away from using BeginInvoke in the CPM
and create our own custom thread pools using System.Threading.Thread
directly. Then, when a new cluepacket comes in we can abort all the
running threads. I'm not sure how well thread abortion works in Mono,
or how reliable it is; it sounds a bit sketchy.
Disclaimer: I know zip about Mono, and approximately the same about dashboard.
I've had a quick look at this issue and hacked (*really* hacked) together what appears to be a quick fix, centered around RunQuery(). Whenever RunQuery() is called it attempts to EndInvoke() all threads that were BeginInvoke()d the last time RunQuery() ran. This seems to do the trick.
The patch is ugly, though. Ideally it would keep proper track of what backends were active and which had finished and maintain the list properly, but I don't have time to do that until at least this weekend.
If anyone wants to look at the fix I've made my replacement cluepacket-manager.cs available at
http://www.devzero.net/downloads/cluepacket-manager.cs
Nat
Cheers,
Jim.
--
Jim McDonald - Jim mcdee net
|
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]