[Python-checkins] CVS: python/dist/src/Modules selectmodule.c,2.55,2.56

Tim Peters tim_one@users.sourceforge.net
Thu, 16 Aug 2001 14:59:49 -0700


Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv9263/Modules

Modified Files:
	selectmodule.c 
Log Message:
Stop adding 3 to FD_SETSIZE -- it makes no sense.  If it turns out it
actually does <wink>, perhaps an Insure run will catch it.
Also removed senseless Windows comment.


Index: selectmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/selectmodule.c,v
retrieving revision 2.55
retrieving revision 2.56
diff -C2 -d -r2.55 -r2.56
*** selectmodule.c	2001/08/16 16:55:10	2.55
--- selectmodule.c	2001/08/16 21:59:46	2.56
***************
*** 72,79 ****
  
  static void
! reap_obj(pylist fd2obj[FD_SETSIZE + 3])
  {
  	int i;
! 	for (i = 0; i < FD_SETSIZE + 3 && fd2obj[i].sentinel >= 0; i++) {
  		Py_XDECREF(fd2obj[i].obj);
  		fd2obj[i].obj = NULL;
--- 72,79 ----
  
  static void
! reap_obj(pylist fd2obj[FD_SETSIZE + 1])
  {
  	int i;
! 	for (i = 0; i < FD_SETSIZE + 1 && fd2obj[i].sentinel >= 0; i++) {
  		Py_XDECREF(fd2obj[i].obj);
  		fd2obj[i].obj = NULL;
***************
*** 87,91 ****
  */
  static int
! list2set(PyObject *list, fd_set *set, pylist fd2obj[FD_SETSIZE + 3])
  {
  	int i;
--- 87,91 ----
  */
  static int
! list2set(PyObject *list, fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
  {
  	int i;
***************
*** 142,146 ****
  /* returns NULL and sets the Python exception if an error occurred */
  static PyObject *
! set2list(fd_set *set, pylist fd2obj[FD_SETSIZE + 3])
  {
  	int i, j, count=0;
--- 142,146 ----
  /* returns NULL and sets the Python exception if an error occurred */
  static PyObject *
! set2list(fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
  {
  	int i, j, count=0;
***************
*** 191,201 ****
  {
  #ifdef SELECT_USES_HEAP
- 	/* This would be an awful lot of stack space on Windows! */
  	pylist *rfd2obj, *wfd2obj, *efd2obj;
  #else  /* !SELECT_USES_HEAP */
! 	/* XXX: Why, oh why does this add 3?!  As far as anyone can tell,
! 	 * it should only add 1 for the sentinel.
! 	 *
! 	 * XXX: All this should probably be implemented as follows:
  	 * - find the highest descriptor we're interested in
  	 * - add one
--- 191,197 ----
  {
  #ifdef SELECT_USES_HEAP
  	pylist *rfd2obj, *wfd2obj, *efd2obj;
  #else  /* !SELECT_USES_HEAP */
! 	/* XXX: All this should probably be implemented as follows:
  	 * - find the highest descriptor we're interested in
  	 * - add one
***************
*** 203,209 ****
  	 * See: Stevens, APitUE, $12.5.1
  	 */
! 	pylist rfd2obj[FD_SETSIZE + 3];
! 	pylist wfd2obj[FD_SETSIZE + 3];
! 	pylist efd2obj[FD_SETSIZE + 3];
  #endif /* SELECT_USES_HEAP */
  	PyObject *ifdlist, *ofdlist, *efdlist;
--- 199,205 ----
  	 * See: Stevens, APitUE, $12.5.1
  	 */
! 	pylist rfd2obj[FD_SETSIZE + 1];
! 	pylist wfd2obj[FD_SETSIZE + 1];
! 	pylist efd2obj[FD_SETSIZE + 1];
  #endif /* SELECT_USES_HEAP */
  	PyObject *ifdlist, *ofdlist, *efdlist;
***************
*** 254,260 ****
  #ifdef SELECT_USES_HEAP
  	/* Allocate memory for the lists */
! 	rfd2obj = PyMem_NEW(pylist, FD_SETSIZE + 3);
! 	wfd2obj = PyMem_NEW(pylist, FD_SETSIZE + 3);
! 	efd2obj = PyMem_NEW(pylist, FD_SETSIZE + 3);
  	if (rfd2obj == NULL || wfd2obj == NULL || efd2obj == NULL) {
  		if (rfd2obj) PyMem_DEL(rfd2obj);
--- 250,256 ----
  #ifdef SELECT_USES_HEAP
  	/* Allocate memory for the lists */
! 	rfd2obj = PyMem_NEW(pylist, FD_SETSIZE + 1);
! 	wfd2obj = PyMem_NEW(pylist, FD_SETSIZE + 1);
! 	efd2obj = PyMem_NEW(pylist, FD_SETSIZE + 1);
  	if (rfd2obj == NULL || wfd2obj == NULL || efd2obj == NULL) {
  		if (rfd2obj) PyMem_DEL(rfd2obj);