Issue 7477: kqueue timers don't work properly (original) (raw)
Issue7477
Created on 2009-12-11 12:08 by hasan, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (3) | ||
---|---|---|
msg96247 - (view) | Author: Hasan (hasan) | Date: 2009-12-11 12:08 |
kqueue timers are not working at all on Mac OSX 10.6.1 (probably not working on other BSDs as well but haven't tested it). Here's a simply repro: from select import * kq = kqueue() e = kevent(10000, flags=KQ_EV_ENABLE|KQ_EV_ONESHOT, filter=KQ_FILTER_TIMER) e <select.kevent ident=10000 filter=-7 flags=0x14 fflags=0x0 data=0x0 udata=0x0> new_e = f.control([e], 1, 0) This should block 10s before it returns control with new_e having a timer event returned. However, it isn't the case. control returns immediately returning a busted event: [<select.kevent ident=10000 filter=-7 flags=0x4000 fflags=0x0 data=0x2 udata=0x0>] Am I missing something? | ||
msg96250 - (view) | Author: Hasan (hasan) | Date: 2009-12-11 12:35 |
Typo in the repro. The statement: new_e = f.control should be: new_e = kq.control | ||
msg96274 - (view) | Author: Hasan (hasan) | Date: 2009-12-11 21:53 |
Closing it. My mistake. I was passing incorrect arguments. KQ_EV_ONESHOT requires KQ_EV_ADD as well, and timer data goes into data. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:55 | admin | set | github: 51726 |
2009-12-11 21:53:52 | hasan | set | status: open -> closedmessages: + |
2009-12-11 12:35:28 | hasan | set | messages: + |
2009-12-11 12:08:50 | hasan | create |