jik@ATHENA.MIT.EDU (Jonathan I. Kamens) (03/22/89)
I have written an xscreensaver program (the traditional icon-with-the-time-bouncing-around-the-screen variety) based on the X Toolkit and Athena Widget set under X11R3. When the screen is locked, pushing a mouse button or pressing a key causes the password prompt window to come up, and hitting return with the wrong password (or with no password) will cause it to go away and make the icon start bouncing again. The problem is that it is possible to kill the screensaver by hitting return and a mouse button as quickly as possible (one hand on the return key, one hand on the mouse button, clicking away with both hands) for about thirty seconds. Apparently, the program is falling so far behind in its event handling that the server is sending it a KillClient. The error message I get is: XIO: fatal IO error 32 (Broken pipe) on X server "unix:0.0" after 623 requests (382 known processed) with 1 events remaining. The connection was probably broken by a server shutdown or KillClient. Now, I know that the program is still alive and running, and the program knows that it's still alive and running, so how do I convince the X server not to do a KillClient if I fall to farr behind? This wouldn't be such a big problem if it weren't for the fact that a screensaver that locks the screen is supposed to be _secure_. If it can be broken by anybody with fast hands, it isn't much good. Please E-mail responses to me, and I'll post a follow-up to xpert if the answer is sufficiently difficult that I don't feel like an idiot for not having figured it out myself :-) Thank you for any help you can provide. Jonathan Kamens USnail: MIT Project Athena 410 Memorial Drive, No. 223F jik@Athena.MIT.EDU Cambridge, MA 02139-4318 Office: 617-253-4261 Home: 617-225-8218
bob@primerd.prime.com (03/25/89)
On a related note, I don't believe that an error message should be printed at all when you invoke KillClient. At least there should be a way to suppress it. When one of my customers wants to kill a window from his favorite window manager, he doesn't want to see "XIO Fatal Error" in his console window-- it is inappropriate. It makes it appear as though there is some sort of bug. Is there a way around this? Bob Pellegrino Prime Computer, Inc. bob@deep-thought.prime.com
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (03/27/89)
When one of my customers wants to kill a window from his favorite window manager, he doesn't want to see "XIO Fatal Error" in his console window-- it is inappropriate. It makes it appear as though there is some sort of bug. Is there a way around this? Yes, by having client install an error handler to detect this, and/or by having the client and window manager use the WM_SAVE_YOURSELF protocol described in the ICCCM.