[comp.unix.wizards] 4.2 vs 4.3 select

sean@ms.uky.edu (Sean Casey) (06/13/88)

I just tried out the select code that didn't work on 4.2 and
guess what? It works fine on a 4.3 system. ARRRGGGH! Why in the
hell did they distribute something that doesn't work as documented?

You know, when I was first experimenting with this stuff, I had to
go way out my way to find an undocumented ioctl() in 4.2 that
would correctly set the process group so that a process would get the
SIGURG that an OOB generated. Did the fcntl() work? Noooooo! Was
it available, yeeesss.

Now that I'm multiplexing, just getting a signal isn't good enough,
cause the program has to be able to figure out who sent the thing.

Does anyone know of a sneaky way to make this work on 4.2? Coding
around the problem is going to be a major unnecessary pain for me if I
can't find a way to make that select() work.

Sean
-- 
***  Sean Casey                        sean@ms.uky.edu,  sean@ukma.bitnet
***  The Empire select() Monster       {backbone|rutgers|uunet}!ukma!sean
***  ``I'm not gonna mail it, YOU mail it. I'M not gonna mail it... Hey! Let's
***  send it to Rutgers! Yeah! They won't mail it. They return everything.''

chris@mimsy.UUCP (Chris Torek) (06/13/88)

In article <9649@g.ms.uky.edu> sean@ms.uky.edu (Sean Casey) writes:
>I just tried out the select code that didn't work on 4.2 and
>guess what? It works fine on a 4.3 system. ARRRGGGH! Why in the
>hell did they distribute something that doesn't work as documented?

Because their funding contract said `thou shalt release by September'.
(Or whatever date it was.  Anyway, as I understand it, the release
date hit, nothing was really ready, so they shipped anyway.  There
were some fixes quitely applied to later tapes.)

>Now that I'm multiplexing, just getting a [SIGURG] signal [for out
>of band data] isn't good enough, cause the program has to be able to
>figure out who sent the thing. ... Does anyone know of a sneaky way
>to make this work on 4.2?

Do a receive for MSG_OOB anyway.  If there is none, it ought to fail
with EWOULDBLOCK, or perhaps return 0.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris