Dennis Lee Bieber wrote: > On 19 Jul 2006 19:08:12 -0700, "gel" <[EMAIL PROTECTED]> declaimed the > following in comp.lang.python: > > > import thread > > > Step one... Skip the thread module and use threading module instead. > > > def create(): > > > > pythoncom.CoInitialize() > > c = wmi.WMI() > > while 1 : > > > > print "watching creation" > > watcher = c.watch_for(notification_type="Creation", > > wmi_class="Win32_Process", delay_secs=1) > > I don't know WMI, but is that delay a real sleep operation, or a > polling loop? > > And either could be a problem if they hold the GIL -- preventing > anything else from running until they return... > > > > > thread.start_new_thread(create(),()) > > thread.start_new_thread(delete(),()) > > At the very least, I suggest commenting out the COM and WMI calls -- > test threads that ONLY print output and do a time.sleep(1). That should > be sufficient to see if the threads themselves are being started. > -- > Wulfraed Dennis Lee Bieber KD6MOG > [EMAIL PROTECTED] [EMAIL PROTECTED] > HTTP://wlfraed.home.netcom.com/ > (Bestiaria Support Staff: [EMAIL PROTECTED]) > HTTP://www.bestiaria.com/
Thanks alot for your help. I had tried using threading with a different setup in the function side but did not get success. I think that I have winner now. Thanks again. What follows is the what I have working so far. And another question why do you prefer to us threading and thread? import wmi import pythoncom import threading def create(): pythoncom.CoInitialize() c = wmi.WMI() while 1 : print "watching creation" watcher = c.watch_for(notification_type="Creation", wmi_class="Win32_Process", delay_secs=1) print watcher() def delete(): pythoncom.CoInitialize() d = wmi.WMI() while 1 : print "watching deletion" watcher = d.watch_for(notification_type="Deletion", wmi_class="Win32_Process", delay_secs=1) print watcher() import threading threading.Thread(target=create).start() threading.Thread(target=delete).start() Cheers -- http://mail.python.org/mailman/listinfo/python-list