vyncke@esat.kuleuven.ac.be (06/01/90)
I'm writing an application where the graphical interface is not the main part of the program. Since I want my windows to be updated after expose events, I need a kind of asynchrounous behaviour. I first build the program on a VAX station 3100 and there I had a routine called XSelectAsyncInput(...) . This worked fine. But two months ago I switched to a Sun Sparc with X11R4. There I tried to catch the events in a background process. This however was not failsafe. Now I implemented the method of John Bruner : > My approach is to get the file descriptor for the X server (with > ConnectionNumber(display)) and catch SIGIO. This works fine but there is still one problem : If I catch an interrupt when I'm in a X-call, my programm crashes. I worked around this by postponing the interrupt handling while I'm doing X-calls. This is however elaborate, and I'm wondering if there is not an other way to prevent the Xserver from receiving two concurrent X-calls Please send any reply by Email -- Frank Vyncke . Department of Robot Vision, KU Leuven, Belgium vyncke@esat.kuleuven.ac.be
ian@hewey.UUCP (Ian Hogg) (06/04/90)
> > > My approach is to get the file descriptor for the X server (with > > ConnectionNumber(display)) and catch SIGIO. > > This works fine but there is still one problem : If I catch an interrupt > when I'm in a X-call, my programm crashes. I worked around this by > postponing the interrupt handling while I'm doing X-calls. This is however > elaborate, and I'm wondering if there is not an other way to prevent the > Xserver from receiving two concurrent X-calls > Please send any reply by Email > I haven't tried this but what if you opened the display twice. Use one display for your normal processing and the other to update the display in your signal handler. Anyone know if this is OK? -- =============================================================================== Ian Hogg email: ian@dms.cdc.com Control Data Corporation phone: (612)-553-4484