mirror of
https://github.com/python/cpython.git
synced 2025-10-17 04:08:28 +00:00
* myselect.h: bzero -> memset
* select.c: bzero -> memset; removed global variable
This commit is contained in:
parent
f16eda5ff8
commit
4fbf798f86
2 changed files with 13 additions and 13 deletions
|
@ -75,6 +75,6 @@ typedef struct fd_set {
|
||||||
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
|
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
|
||||||
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
|
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
|
||||||
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
|
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
|
||||||
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
|
#define FD_ZERO(p) memset((char *)(p), '\0', sizeof(*(p)))
|
||||||
|
|
||||||
#endif /* FD_SET */
|
#endif /* FD_SET */
|
||||||
|
|
|
@ -33,13 +33,11 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
static object *SelectError;
|
static object *SelectError;
|
||||||
|
|
||||||
/* XXX This module should be re-entrant! */
|
|
||||||
static object *fd2obj[FD_SETSIZE];
|
|
||||||
|
|
||||||
static
|
static
|
||||||
list2set(list, set)
|
list2set(list, set, fd2obj)
|
||||||
object *list;
|
object *list;
|
||||||
fd_set *set;
|
fd_set *set;
|
||||||
|
object *fd2obj[FD_SETSIZE];
|
||||||
{
|
{
|
||||||
int i, len, v, max=-1;
|
int i, len, v, max=-1;
|
||||||
object *o, *filenomethod, *fno;
|
object *o, *filenomethod, *fno;
|
||||||
|
@ -76,9 +74,10 @@ list2set(list, set)
|
||||||
}
|
}
|
||||||
|
|
||||||
static object *
|
static object *
|
||||||
set2list(set, max)
|
set2list(set, max, fd2obj)
|
||||||
fd_set *set;
|
fd_set *set;
|
||||||
int max;
|
int max;
|
||||||
|
object *fd2obj[FD_SETSIZE];
|
||||||
{
|
{
|
||||||
int i, num=0;
|
int i, num=0;
|
||||||
object *list, *o;
|
object *list, *o;
|
||||||
|
@ -112,6 +111,7 @@ select_select(self, args)
|
||||||
object *self;
|
object *self;
|
||||||
object *args;
|
object *args;
|
||||||
{
|
{
|
||||||
|
object *fd2obj[FD_SETSIZE];
|
||||||
object *ifdlist, *ofdlist, *efdlist;
|
object *ifdlist, *ofdlist, *efdlist;
|
||||||
fd_set ifdset, ofdset, efdset;
|
fd_set ifdset, ofdset, efdset;
|
||||||
double timeout;
|
double timeout;
|
||||||
|
@ -141,14 +141,14 @@ select_select(self, args)
|
||||||
return 0;
|
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 */
|
/* 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;
|
return 0;
|
||||||
if( (omax=list2set(ofdlist, &ofdset)) < 0 )
|
if( (omax=list2set(ofdlist, &ofdset, fd2obj)) < 0 )
|
||||||
return 0;
|
return 0;
|
||||||
if( (emax=list2set(efdlist, &efdset)) < 0 )
|
if( (emax=list2set(efdlist, &efdset, fd2obj)) < 0 )
|
||||||
return 0;
|
return 0;
|
||||||
max = imax;
|
max = imax;
|
||||||
if ( omax > max ) max = omax;
|
if ( omax > max ) max = omax;
|
||||||
|
@ -164,9 +164,9 @@ select_select(self, args)
|
||||||
if ( n == 0 )
|
if ( n == 0 )
|
||||||
imax = omax = emax = 0; /* Speedup hack */
|
imax = omax = emax = 0; /* Speedup hack */
|
||||||
|
|
||||||
ifdlist = set2list(&ifdset, imax);
|
ifdlist = set2list(&ifdset, imax, fd2obj);
|
||||||
ofdlist = set2list(&ofdset, omax);
|
ofdlist = set2list(&ofdset, omax, fd2obj);
|
||||||
efdlist = set2list(&efdset, emax);
|
efdlist = set2list(&efdset, emax, fd2obj);
|
||||||
|
|
||||||
return mkvalue("OOO", ifdlist, ofdlist, efdlist);
|
return mkvalue("OOO", ifdlist, ofdlist, efdlist);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue