Skip to contentSkip to conversation

missing poll(2) for semaphores

DISCUSSION Alex Riesen 1 participant 2 messages Apr 19, 2001

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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