🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.x
Article #37373

Re: X & signals

#37373
From: gjc
Date: Mon, 26 Feb 1990 09:20
52 lines
2626 bytes
In article <132200@sun.Eng.Sun.COM>, argv%turnpike@Sun.COM (Dan Heller) writes:
> In article <1154@sdrc.UUCP> evgabb@sdrc.UUCP (Rob Gabbard) writes:
>> Has anyone had any problems with using alarm signals with X ? My problem is
> 
> Stop right there.  don't event *think* about using signals with X
> in its current state.  If you do, then think *really hard* because

> VMS does not support signals...
> 
> -----------------------------------------------------------
> 		    O'Reilly && Associates
> 		argv@sun.com / argv@ora.com

What rubbish, and from somebody at a place that publishes books about X.
(Or maybe your complete message was just a joke?)

The VMS implementation of XLIB could very well be the ONLY implementation
that supports ASYNC operation. The XLIB routines are reentrant and can
be called at AST level, and there is even a routine
 XSelectAsyncInput(display,window,mask,event_ast_handler,ast_arg)
which will interrupt your process when pending X-events come into
the queue.

VMS not handling signals? On the contrary, XLIB seems to have been
designed with the least-common-denominator of least-able operating systems
in mind when it comes to processing input (including clock driven).
Indeed, the nature of it is such that X (applications/server) can run in 
operating systems such as the Macintosh, where the operating system has to 
be called explicitely from the application, e.g. "SystemTask()" in order to
process user input properly.

If DIGITAL had really managed to get the X Constortium to write X in such
a way that it depended on the superior I/O/timing capabilities of VMS,
then X would have great difficulting running on other platforms.

That would not be in the best interest of DIGITAL, and X would not now
be as important as it is.

-gjc

p.s. Here is what I have to do on the Mac in order to look for the key
that a user conventionally types to interrupt a running program. It would
be nice to have more event-queue (in a general sense) procedures such as
in X. This kind of stuff even makes Unix look good.

int want_interrupt()
{SystemTask();
 for(q=EventQueue.qHead;q;q=q->qLink)
  if(q->evtQWhat == keydown && (char) q->evtQmessage == '.' &&
     (q->evtQModifiers && cmdKey))
   return(1);
 return(0);}
Technical Details
Message-ID: <994@mitech.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!mitech!gjc
References: <1154@sdrc.UUCP> <132200@sun.Eng.Sun.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!mitech!gjc
From: gjc@mitech.com
Newsgroups: comp.windows.x
Subject: Re: X & signals
Message-ID: <994@mitech.com>
Date: 26 Feb 90 09:20:38 GMT
References: <1154@sdrc.UUCP> <132200@sun.Eng.Sun.COM>
Organization: Mitech Corporation, Concord MA
Lines: 52