From: Jason P. <ma...@wa...> - 2009-02-20 17:33:19
|
> > Sat, 17 Jan 2009 12:11:56 -0800 > Hi all, I'm working on a program that, when launched, displays an icon (a Win32::GUI::NotifyIcon object) in the Windows taskbar notification area-often referred to as the "system tray". When one of the buttons on my GUI is clicked, a separate "worker" thread is created so that my GUI remains responsive while a background task executes in the other thread. Everything is fine up to that point, but when the thread eventually finishes, my icon disappears from the system tray and I get the following three lines of errors: Attempt to free non-existent shared string '_NotifyIcon1', Perl interpreter: 0x1cfc6f4 at C:/Perl/site/lib/Win32/GUI.pm line 3429 during global destruction. Unbalanced string table refcount: (1) for "" during global destruction. Unbalanced string table refcount: (1) for "DELETE" during global destruction. I'm happy to post my code, if necessary, but I thought someone might be able to quickly tell me whether Win32::GUI::NotifyIcon is thread safe. Thanks, Rob Hey Rob, I'll admit it has been a while since I've popped my head into this mailing list, but I thought I could help on this one. First I have a couple of questions tho: 1. Is this thread in control of the NotifyIcon in *any* way? 2. Which perl? 5.10 has some quirkiness I've noticed with threading an certain parts of Win32::GUI if one isn't careful. 3. Is it possible to pre-fork this thread and have it wait on instructions? (this totally bypasses this entire problem) Hope I can help :) Jason |