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 -------