diff Modules/selectmodule.c @ 922:c12b445cdace legacy-trunk

* myselect.h: bzero -> memset * select.c: bzero -> memset; removed global variable
author Guido van Rossum <guido@python.org>
date Tue, 04 Aug 1992 09:13:45 +0000
parents 7f7ba65a2825
children c156d4960c2b
line wrap: on
line diff
--- a/Modules/selectmodule.c	Mon Aug 03 19:06:59 1992 +0000
+++ b/Modules/selectmodule.c	Tue Aug 04 09:13:45 1992 +0000
@@ -33,13 +33,11 @@
 
 static object *SelectError;
 
-/* XXX This module should be re-entrant! */
-static object *fd2obj[FD_SETSIZE];
-
 static
-list2set(list, set)
+list2set(list, set, fd2obj)
     object *list;
     fd_set *set;
+    object *fd2obj[FD_SETSIZE];
 {
     int i, len, v, max=-1;
     object *o, *filenomethod, *fno;
@@ -76,9 +74,10 @@
 }
 
 static object *
-set2list(set, max)
+set2list(set, max, fd2obj)
     fd_set *set;
     int max;
+    object *fd2obj[FD_SETSIZE];
 {
     int i, num=0;
     object *list, *o;
@@ -112,6 +111,7 @@
     object *self;
     object *args;
 {
+    object *fd2obj[FD_SETSIZE];
     object *ifdlist, *ofdlist, *efdlist;
     fd_set ifdset, ofdset, efdset;
     double timeout;
@@ -141,14 +141,14 @@
 	return 0;
     }
 
-    bzero((char *)fd2obj, sizeof(fd2obj)); /* Not really needed */
+    memset((char *)fd2obj, '\0', sizeof(fd2obj));
     
     /* Convert lists to fd_sets, and get maximum fd number */
-    if( (imax=list2set(ifdlist, &ifdset)) < 0 )
+    if( (imax=list2set(ifdlist, &ifdset, fd2obj)) < 0 )
       return 0;
-    if( (omax=list2set(ofdlist, &ofdset)) < 0 )
+    if( (omax=list2set(ofdlist, &ofdset, fd2obj)) < 0 )
       return 0;
-    if( (emax=list2set(efdlist, &efdset)) < 0 )
+    if( (emax=list2set(efdlist, &efdset, fd2obj)) < 0 )
       return 0;
     max = imax;
     if ( omax > max ) max = omax;
@@ -164,9 +164,9 @@
     if ( n == 0 )
       imax = omax = emax = 0; /* Speedup hack */
 
-    ifdlist = set2list(&ifdset, imax);
-    ofdlist = set2list(&ofdset, omax);
-    efdlist = set2list(&efdset, emax);
+    ifdlist = set2list(&ifdset, imax, fd2obj);
+    ofdlist = set2list(&ofdset, omax, fd2obj);
+    efdlist = set2list(&efdset, emax, fd2obj);
 
     return mkvalue("OOO", ifdlist, ofdlist, efdlist);
 }