tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: poll(): IN/OUT vs {RD,WR}NORM
> Date: Mon, 27 May 2024 20:27:28 -0400 (EDT)
> From: Mouse <mouse%Rodents-Montreal.ORG@localhost>
>
> In sys/sys/poll.h, I see (in 1.4T, -current according to cvsweb, and
> everything I've checked in between):
>
> #define POLLIN 0x0001
> #define POLLPRI 0x0002
> #define POLLOUT 0x0004
> #define POLLRDNORM 0x0040
> #define POLLWRNORM POLLOUT
> #define POLLRDBAND 0x0080
> #define POLLWRBAND 0x0100
>
> I can understand treating POLLWRNORM as identical to POLLOUT. But why
> the distinction between POLLRDNORM and POLLIN? Might anyone know the
> reason and be willing to explain?
It's been this way since sysvr4, according to the archive at
<https://archive.org/details/ATTUNIXSystemVRelease4Version2>
(sysvr4.tar.bz2, svr4/uts/i386/sys/poll.h):
/*
* Testable select events
*/
#define POLLIN 0x0001 /* fd is readable */
#define POLLPRI 0x0002 /* high priority info at fd */
#define POLLOUT 0x0004 /* fd is writeable (won't block) */
#define POLLRDNORM 0x0040 /* normal data is readable */
#define POLLWRNORM POLLOUT
#define POLLRDBAND 0x0080 /* out-of-band data is readable */
#define POLLWRBAND 0x0100 /* out-of-band data is writeable */
sysvr3 didn't have the NORM/BAND ones. Perhaps you'll find more clues
by digging through the changes from sysvr3 to sysvr4.
Home |
Main Index |
Thread Index |
Old Index