[comp.lang.perl] Bug in do_select

grady@fxgrp.fx.com (Steven Grady) (12/16/89)

The select function (as in UNIX select(), not the file handle
selector) has a bug.  It uses the length of the vector (represented
as a string internally) as the width of the bit field passed to 
select().  Unfortunately, it is including the '\0' terminator of 
the string as part of the length.  With the width off by 8, the
file descriptors examined are 8 higher than they should be.

A fix that seems to work it to change line 1514 of doio.c,
	maxlen * 8,
to
	(maxlen - 1) * 8,

No guarantees, of course.
-- 
	Steven
	...!ucbvax!grady
	grady@postgres.berkeley.edu

   Spock was waiting for them when they got to the conference
room.  "Captain, I've run the data we collected through the
computer."
   "Well, Spock, you must be a very proud young man.  So what's
the deal with these council weasels?"