Date: Sun, 20 Feb 2000 05:36:26 -0800 (PST) From: Peter Wemm <peter@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sys types.h src/sys/kern sys_generic.c Message-ID: <200002201336.FAA50581@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
peter 2000/02/20 05:36:26 PST
Modified files:
sys/sys types.h
sys/kern sys_generic.c
Log:
Fix select(2) for the Alpha. (!!) It was never returning true for
fd's in the range of 32-63, 96-127 etc. The first problem was the
FD_*() macros were shifting a 32 bit integer "1" left by more than
32 bits. The same problem happened in selscan(). ffs() also takes
an int argument and causes failure. For cases where int == long
(ie: the usual case for x86, but not always as gcc can have long
being a 64 bit quantity) ffs() could be used.
Reported by: Marian Stagarescu <marian@bile.skycache.com>
Reviewed by: dfr, gallatin (sys/types.h only)
Approved by: jkh
Revision Changes Path
1.39 +5 -4 src/sys/sys/types.h
1.55 +9 -7 src/sys/kern/sys_generic.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200002201336.FAA50581>
