Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2011-12

Darwin i386 socket polling

5 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Andrew Brunner

I'm needing to figure out how socket signaling mechanisms work under darwin.

Windows and Linux work, Darwin however does not support ePoll.

Anyone have any experience with Sockets events under OSX i386?

Thanks.

Reply by email

Helmut Hartl
to Andrew Brunner
Andrew Brunner wrote 8 lines
I'm needing to figure out how socket signaling mechanisms work under darwin. Windows and Linux work, Darwin however does not support ePoll. Anyone have any experience with Sockets events under OSX i386? Thanks.

BSD's support the kqueue / kevent mechanism.

helmut

Reply by email

Marco van de Voort
to Andrew Brunner: I'm needing to figure out how socket signaling mechanisms work under darwin. Windows and…

In our previous episode, Andrew Brunner said:

I'm needing to figure out how socket signaling mechanisms work under darwin. Windows and Linux work, Darwin however does not support ePoll.

Windows supports epoll?

Anyone have any experience with Sockets events under OSX i386?

Helmut already answered that. But more importantly, there are example implementations for this stuff, see lnet.

Reply by email

Andrew Brunner
to Marco van de Voort
Windows supports epoll?

No, windows doesn't offer polling socket mechanisms. They send messages to windows with the socket number - it's event driven. Kernel polling is different, but I assumed that Darwin would support it via e-Poll. I searched and found a few references to kQueue/kEvent.

Thanks for the help guys.

I'll check the iNet code to see the supporting units. Anyone have a write-up on the website for sockets and the different nuances for each of the major oses?

Reply by email

Henry Vermaak
to Andrew Brunner
Andrew Brunner wrote 7 lines
> Windows supports epoll? No, windows doesn't offer polling socket mechanisms.  They send messages to windows with the socket number - it's event driven. Kernel polling is different, but I assumed that Darwin would support it via e-Poll.  I searched and found a few references to kQueue/kEvent.

Afaik, Windows has select(), but I/O Completion Ports is the thing to use for scalable event notification.

Henry

Reply by email