2001-04-19 09:47:12

by Alex Riesen

[permalink] [raw]
Subject: missing poll(2) for semaphores

Hi, all
i am missing a good (i think) feature of unix descriptors
in SysV semaphores - to be poll(2)-able.
Have someone an idea to somehow achieve the goal ?


something like this:

int sem = create_our_pollable_semaphore();
...
...
pollfd fds[xxx];

for(i=0; i < countof(fds); fds[i++].events = POLLIN|POLLOUT);
fds[0].fd = sem;
fds[1].fd = server_sock1;
fds[2].fd = cmd_sock2;

while ( poll(fds, countof(fds), -1) >= 0 )
...

Thank you in advance

Alex Riesen



2001-04-19 13:49:01

by Alex Riesen

[permalink] [raw]
Subject: Re: missing poll(2) for semaphores

Just an addition to the sample:

fds[3] = sem3;
fds[4] = sem4;
fds[5] = sem5;
fds[6] = sem6;

.. and wait for any of them? or for all together?
and sure have this mixed with descriptors.

Wellknown win32 api WaitForMultipleObjects provides such
functionality, and having something like
that would help to port the applications using that api.

On Thu, Apr 19, 2001 at 11:46:46AM +0200, Alex Riesen wrote:
Hi, all
i am missing a good (i think) feature of unix descriptors
in SysV semaphores - to be poll(2)-able.
Have someone an idea to somehow achieve the goal ?


something like this:

int sem = create_our_pollable_semaphore();
...
...
pollfd fds[xxx];

for(i=0; i < countof(fds); fds[i++].events = POLLIN|POLLOUT);
fds[0].fd = sem;
fds[1].fd = server_sock1;
fds[2].fd = cmd_sock2;

while ( poll(fds, countof(fds), -1) >= 0 )
...

Thank you in advance

Alex Riesen