Summary: | Xt: XtAppAddInput additional input sometimes ignored in multi-threaded application | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Andreas Luik <luik> | ||||||
Component: | Lib/Xt | Assignee: | Xorg Project Team <xorg-team> | ||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | normal | ||||||||
Priority: | high | CC: | alan.coopersmith, eich, roland.mainz | ||||||
Version: | unspecified | Keywords: | patch | ||||||
Hardware: | x86 (IA32) | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Andreas Luik
2004-06-29 06:24:24 UTC
Created attachment 428 [details]
mttest test program (gzipped tar file)
How to use the test program:
Compile the attached mttest.c program using the Imakefile.
Run it with "./mttest".
Press the INTR character several times. Observe that the signal
handler is called, but the additional input is not recognized. The
output is:
pascal:/(162)> ./mttest
pipe 4
Work is active ...
./mttest: [signal waiter]: signal 2
./mttest: [signal waiter]: signal 2
./mttest: [signal waiter]: signal 2
./mttest: [signal waiter]: signal 2
...
Whereas it should be:
pascal:/(162)> ./mttest
pipe 4
Work is active ...
./mttest: [signal waiter]: signal 2
ReadControlConnectionCB
./mttest: received SIGN 2
./mttest: [signal waiter]: signal 2
ReadControlConnectionCB
./mttest: received SIGN 2
./mttest: [signal waiter]: signal 2
ReadControlConnectionCB
./mttest: received SIGN 2
...
Created attachment 429 [details] [review] context diff to lib/Xt/NextEvent.c, either workaround of fix With this patch applied to NextEvent.c, the bug seems to not occur. Might have a small performance penalty, because the fdlist is now rebuild more often. On the other hand, I think this might be required, because select() modifies the fd_sets ... Comment on attachment 429 [details] [review] context diff to lib/Xt/NextEvent.c, either workaround of fix alan/egbert: Do you know anyone who is able to review the patch ? Ping! Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future. committed, not quite three years later. thanks for the patch! |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.