I'm trying to find out if there is a pollable semaphore equivalent on Linux.
The main idea of a "pollable semaphore", is a semaphore with a related file descriptor. The file descriptor can be used to select() when the semaphore is acquirable. This provides a convenient way for users to implement code synchronization between threads, where multiple file descriptors are already being selected against. We have a pollable semaphore implementation on IRIX that provides this functionality. The API consists of a handful of calls for creation and destruction of pollable semaphores, as well as a means to attach them to a file descriptor. Beyond that, from the users point of view, they're just treated as any other file descriptor. These calls are routed through a library and then passed off to a kernel driver that handles the events. If someone selects against a semaphore when it's unaquirable, the driver sleeps on a synchronization variable. When the semaphore is subsequently made aquirable, the driver will wake up any waiters. Multiple pollable semaphores mixed with other file descriptors can be selected against, and a wakeup will occur when any of the semaphores become acquirable. Is anyone aware of any equivalent functionality? Brandon - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/