<div dir="ltr">Hello,<div><br></div><div> Recently got migrated from Xlib to XCB. I had a setup that had some sockets/fd's/signals in an epoll set. Now I need to change a layout of a program. Had to add a computational task that will be called at a high rate while program being run. At a rate about 1/100 per second. I am new to this kind of work. I did some changes, adding POSIX timers, Linux timerfd, set epoll_wait timeout to some approximate of task frequency. </div><div><br></div><div> Now the above setup of mine have a problem. I do need some user interaction with X server during program run. Take as example that the window of a program may be closed by mouse click on 'X' button. Now with the above, the event of window closing got delayed or even ignored to some point in time. To explain further, I get a while(1) loop, with epoll_pwait waiting on some set of fd's. The computation goes when timer expires or epoll_wait timeout.</div><div><br></div><div> Weird thing is that window focus/property/enter/leave events are delivered at a rate of timeout(if such events do happen between timeouts), but some events, such as keyboard interaction, window close and maybe more, got queued and delivered at some later point in time. And more confusing to me, is that if I send events to my program window at a high rate, for example with moving a mouse constantly, the rate of _ALL_ event processing gets higher. </div><div><br></div><div> So my question and problem is, how to get a stable setup of interaction with X server _and_ some high rate computational task. I prefer multiplexing(select/poll/epoll). The ideal would be to not to change anything and have a epoll_wait work as is.</div><div><div><br></div><div>Maybe the problem statement is a bit vague. I can supply some parts of code.</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Ярослав Машко</div><div dir="ltr"><br><div><a href="tel:+380990293574" target="_blank">+380990293574</a></div><div><a href="tel:+380989335496" target="_blank">+380989335496</a><br></div><div><br></div><div><a>live:yaroslaw.mashko</a><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>