[Python-bugs-list] [Bug #110861] time.sleep() and threading (PR#307)
noreply@sourceforge.net
noreply@sourceforge.net
Fri, 25 Aug 2000 10:47:52 -0700
Bug #110861, was updated on 2000-Aug-01 14:39
Here is a current snapshot of the bug.
Project: Python
Category: None
Status: Open
Resolution: None
Bug Group: Irreproducible
Priority: 5
Summary: time.sleep() and threading (PR#307)
Details: Jitterbug-Id: 307
Submitted-By: gpk@bell-labs.com
Date: Fri, 28 Apr 2000 11:28:19 -0400 (EDT)
Version: 1.5.2
OS: Solaris 2.6 sparc
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
====================================================================
Audit trail:
Mon May 22 17:23:26 2000 guido changed notes
Mon May 22 17:23:26 2000 guido moved from incoming to irreproducible
Follow-Ups:
Date: 2000-Aug-01 14:39
By: none
Comment:
From: Guido van Rossum <guido@python.org>
Subject: Re: [Python-bugs-list] time.sleep() and threading (PR#307)
Date: Wed, 03 May 2000 11:58:20 -0400
> 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/)
-------------------------------------------------------
Date: 2000-Aug-01 14:39
By: none
Comment:
And wqent away when he upgraded to Py 1.6.
-------------------------------------------------------
Date: 2000-Aug-25 10:47
By: jhylton
Comment:
Can you test this with Sun's compiler?
-------------------------------------------------------
For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=110861&group_id=5470