Right. If I were you I would use kqueue() on *BSD or epoll() which is avail only on 2.6 linux kernels.
I am not sure what you are trying to achieve but it may be worthwhile to take a look at libevent by Neils Provos as well. It abstracts out select(), kqueue() and epoll() thus making ur app portable as a bonus. You may read the paper by Jonathan Lemmon on kqueue()s advantages over select(). Select() gets horribly inefficient as the number of file descriptors increases. HTH, Girish --- Darryl Miles <[EMAIL PROTECTED]> wrote: > Krishna M Singh wrote: > > We are using the multiple contexts (although not > same as thread count > > i.e. 10 Contexts for 3 threads).. Select call may > be failing as the > > default FD_SET_SIZE is 255 on most systems and > thus in case u want to > > handle 1000 sockets u need to increase the limit.. > There is #def in > > some Windows file.. chk that.. (Assuming u are > running this on > > Windows)... > > This response is closest to the truth. > > By default the "fd_set" type is a standard size on > each platform. In > another post you indicated you are using Linux > 2.6.xx, which I presume > is based one glibc 2.3.x. > > Looking at the systems I have access too glibc 2.3.2 > and glibc 2.3.6: > > > $ grep __FD_SETSIZE /usr/include/bits/*.h > /usr/include/bits/typesizes.h:#define __FD_SETSIZE > 1024 > > This is the maximum number of fd's the "fd_set" type > holds by default. > Maybe it would be possible to stop the crashes and > override this with > some ugly stack paddings: > > #defined EXTRA_FDS 500 > char padd0[(EXTRA_FDS/8)+1]; > fd_set fdread; > char padd1[(EXTRA_FDS/8)+1]; > > > > Maybe look at the comment in > /usr/include/linux/posix_types.h for > informations. > > > > It does not look like there is a compile time > override to allow a lager > size. Maybe the kernel has a hard upper limit for > select() too, but I > dont this is the case. > > > As Kyle also pointed out "ulimit -n 1500" would need > to be addressed on > most standard Linux installed to get any usage > beyond the default 1024 > limit. Otherwise accept() = -1 (EMFILE). > > > You may look at poll() and epoll() as alternative > event wake mechanisms > for IO with large numbers of fds in the working set. > > > HTH > > Darryl > ______________________________________________________________________ > OpenSSL Project > http://www.openssl.org > User Support Mailing List > openssl-users@openssl.org > Automated List Manager > [EMAIL PROTECTED] > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]