Prev: Announce: Runtime Library 3.0 Gestalt Items 1.1 and Hugelist 1.4,Tcl-Mode for XCode
Next: http::geturl intermittent hang - looks for ideas...
From: tom.rmadilo on 14 Oct 2009 12:20 On Oct 14, 12:41 am, Alexandre Ferrieux <alexandre.ferri...(a)gmail.com> wrote: > The only problem is that pending > universal availability of epoll, the Tcl core will need to maintain an > ifdef'ed pair of implementations. Eeek. AOLserver has an implimentation/abstraction/ifdef for poll: http://junom.com/gitweb/gitweb.perl?p=aolserver.git;a=blob;f=aolserver/nsd/sock.c#l745 When poll isn't available, an emulation using select is provided. Of course, it isn't epoll.
From: Alexandre Ferrieux on 14 Oct 2009 14:01 On 14 oct, 18:20, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote: > > When poll isn't available, an emulation using select is provided. Of > course, it isn't epoll. Then why mention this ? Poll is just like select wrt scaling up: it doesn't; only epoll does. -Alex
From: Donal K. Fellows on 14 Oct 2009 14:54 On 14 Oct, 07:48, Alexandre Ferrieux <alexandre.ferri...(a)gmail.com> wrote: > On Oct 14, 3:30 pm, "Donal K. Fellows" > > On at least some OSes, you can set it at build-time. > Yes. Recompile your libc, reboot, and pray. No. Their libc is built without the restriction; the fixed value of FD_SETSIZE is just a feature of the headers. But I don't know if glibc supports that. Donal.
From: Donal K. Fellows on 14 Oct 2009 14:55 On 14 Oct, 12:01, Alexandre Ferrieux <alexandre.ferri...(a)gmail.com> wrote: > Then why mention this ? Poll is just like select wrt scaling up: it > doesn't; only epoll does. But epoll is (of course) completely unportable. Donal.
From: tom.rmadilo on 14 Oct 2009 15:34
On Oct 14, 11:01 am, Alexandre Ferrieux <alexandre.ferri...(a)gmail.com> wrote: > On 14 oct, 18:20, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote: > > When poll isn't available, an emulation using select is provided. Of > > course, it isn't epoll. > > Then why mention this ? Poll is just like select wrt scaling up: it > doesn't; only epoll does. My point is that you must first harmonize epoll with the other two possibilities. epoll must first work with the rest of the io code. The example I gave shows that a successful abstraction of poll only involved one tiny ifdef. But if epoll requires extensive modification to other levels of the io API, it probably can't be used effectively. Since this code was stolen from the GNU C Library, maybe an epoll emulation also exists. |