Hi, I am having a problem while using sleep function from libc , the thread in which i am calling it is getting struck and not allowing other threads to execute. Here is a simple code that i am trying to exeute
import threading import time import dl def dummy1(): a=dl.open('/lib/libc.so.6') print "in thread 1 Start" a.call('sleep',2) #time.sleep(2) print "in thread 1 End" def dummy2(): print "in thread 2 Start" time.sleep(1) print "in thread 2 End" newThread1=threading.Thread(None,dummy1) newThread2=threading.Thread(None,dummy2) newThread1.start() newThread2.start() print "in main" The out put of this program is (In this case thread 1 even though i am calling a sleep function its not allowing other threads to execute, other threads execute only after the completion of first thread) in thread 1 Start in thread 1 End in thread 2 Start in main in thread 2 End where as if i use time.sleep instead of a.call(sleep) the out put is (which i guess is right behaviour, because it start the threads and suspends them because the have sleep , and continue executing the main thread) in thread 1 Start in thread 2 Start in main in thread 2 End in thread 1 End -- http://mail.python.org/mailman/listinfo/python-list