mchehab: ping mchehab: no worries, I'll send you an email :) roxlu: the usual way is to create a pipe() (or eventfd()) and add it to the list of fds given to poll() then you can write() on the fd, which will wake up poll() hey thanks pinchartl! I just implemented a solution using eventfd() I don't fully understand how it's supposed to work, but it works. What I'm not sure about is if you have to read/write to the eventfd again to reset it's value. if you start expanding the event handlign plumbing, I recommend looking at libevent yeah :) way back when I looked into libevent (and when I was less experienced) I thought that libevent made it impossible to do zero-copy but I could have beeen wrong then