PARCEL@INTELLICORP.COM (Scott Parcel) (12/20/89)
I'm looking for good ways to process X events as they arrive in a process
which contains some code which cannot be constrained to check for events
or be cooperative in any way. My plan was to use SIGIO signals but I have
some concerns:
1) I've heard that X is not reentrant and if the signal handler enters X
while the interupted code is in X this could cause a problem. (I've
seen some evidence to this effect.) Also, it is difficult for me
to guaranttee this does not happen.
Does anyone understand the exact reentrancy limitations of X ?
2) I'm concerned that SIGIO signals do not always occur as needed and
that I cannot depend on them to do all of my event processing. I've
tried using XSync to help, but I've seen XSync hang.
I have also considered using XSelectInput to trap events in another process
and them forward them to the main process in a controlled manner. This would
appear not to work well for us because of the need to select input on every
single widget -- am I missing something ?
If anyone has any suggestions on how to reliably catch and process X events
given my constraints or info on reentrancy I'd appreciate it.
-- scott parcel@intellicorp.com
-------