[Python-checkins] CVS: python/dist/src/Modules timemodule.c,2.80,2.81

Andrew M. Kuchling python-dev@python.org
Fri, 24 Mar 2000 15:35:23 -0500 (EST)


Update of /projects/cvsroot/python/dist/src/Modules
In directory amarok:/home/akuchlin/src/Python-1.5/Modules

Modified Files:
	timemodule.c 
Log Message:
Fix probable bug; if errno == EINTR, floatsleep() doesn't break out of 
   a Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS block, but it 
   calls Py_BLOCK_THREADS anyway. The change moves Py_BLOCK_THREADS 
   to inside the if, so it's only executed when the function
   actually returns unexpectedly.


Index: timemodule.c
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Modules/timemodule.c,v
retrieving revision 2.80
retrieving revision 2.81
diff -C2 -r2.80 -r2.81
*** timemodule.c	2000/03/14 21:17:16	2.80
--- timemodule.c	2000/03/24 20:35:20	2.81
***************
*** 756,760 ****
  	Py_BEGIN_ALLOW_THREADS
  	if (select(0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &t) != 0) {
- 		Py_BLOCK_THREADS
  #ifdef EINTR
  		if (errno != EINTR) {
--- 756,759 ----
***************
*** 762,765 ****
--- 761,765 ----
  		if (1) {
  #endif
+ 			Py_BLOCK_THREADS
  			PyErr_SetFromErrno(PyExc_IOError);
  			return -1;