[Python-bugs-list] time.sleep() and threading (PR#307)

guido@python.org guido@python.org
Wed, 3 May 2000 11:58:25 -0400 (EDT)


> python .../test/test_thread.py shows that time.sleep()
> does not relinquish the processor.
> As one thread goes to sleep, another thread ought
> to start processing.   That doesn't happen.
> 
> Python was configured with --with-thread
> and compiler flags -mt and -D_REENTRANT.
> See line from config.status: s%@CC@%cc -mt -D_REENTRANT%g
> 
> EXAMPLE:
> 
> hce* python test_thread.py
> creating task 1
> creating task 2
> creating task 3
> creating task 4
> creating task 5
> creating task 6
> creating task 7
> creating task 8
> creating task 9
> creating task 10
> waiting for all tasks to complete
> task 1 will run for 9.9 sec		# goes to sleep here...
> task 1 done				# 9.9 seconds later...
> task 5 will run for 4.1 sec		# This should have started when task 1 slept.
> task 5 done
> task 7 will run for 9.9 sec
> task 7 done
> task 4 will run for 9.2 sec
> task 4 done
> task task 6 will run for 7.7 sec

Hm...  It works correctly for me on Solaris 7 compiled with gcc, using
either Solaris threads or Posix threads.

I wonder if this could have something to do with the compiler you are
using?  (Are you using the SunPro compiler?)

There's not much I can do about this right now, sorry.

--Guido van Rossum (home page: http://www.python.org/~guido/)