diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 1998-10-16 18:24:45 +0300 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-10-25 05:16:41 +0000 |
commit | f2da832e840f54013cb015f86420ceda75823b28 (patch) | |
tree | 1df08d81f28eee0baa540b00eee1ef6aa0c15b87 /pp_sys.c | |
parent | b43ceaf2b133015285f3b5980eae328febf9da1d (diff) | |
download | perl-f2da832e840f54013cb015f86420ceda75823b28.tar.gz |
commented version of a patch suggested by Drago Goricanec
Message-ID: <oeeogrc1ype.fsf@alpha.hut.fi>
Subject: Re: [PATCH 5.005_52] Linux select fails with more than 32 FDs
p4raw-id: //depot/perl@2056
Diffstat (limited to 'pp_sys.c')
-rw-r--r-- | pp_sys.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -868,7 +868,12 @@ PP(pp_sselect) /* little endians can use vecs directly */ #if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 # if SELECT_MIN_BITS > 1 - growsize = SELECT_MIN_BITS / 8; + /* If SELECT_MIN_BITS is greater than one we most probably will want + * to align the sizes with SELECT_MIN_BITS/8 because for example + * in many little-endian (Intel, Alpha) systems (Linux, OS/2, Digital + * UNIX, Solaris, NeXT) the smallest quantum select() operates on + * (sets bit) is 32 bits. */ + growsize = maxlen + (SELECT_MIN_BITS/8 - (maxlen % (SELECT_MIN_BITS/8))); # else growsize = sizeof(fd_set); # endif |