Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!mit-eddie!apollo!ganek From: ganek@apollo.UUCP Newsgroups: comp.sys.apollo Subject: Re: How to simulate A-synchronous System Traps (AST)? Message-ID: <35c2b33e.c82a@apollo.uucp> Date: Mon, 29-Jun-87 10:11:00 EDT Article-I.D.: apollo.35c2b33e.c82a Posted: Mon Jun 29 10:11:00 1987 Date-Received: Tue, 30-Jun-87 04:16:02 EDT References: <372@nikhefh.UUCP> Distribution: world Organization: Apollo Computer, Chelmsford, Mass. Lines: 35 i91@nikhefh.UUCP (Fons Rademakers @ Nikhef-H, Amsterdam (the Netherlands).) writes: > As far as I know Apollo does not have something like the > VAX AST (Asynchronous System Trap) facility. I would like to > know, however, how I could simulate something like this AST facility. > > I ask this because I am making an application that has to react > to IPC events and to DIALOG events. I have a routine that sets and looks > at the eventcounts for both events and jumps to the respective > event input routines. The problem however is that the gpr (dialog) > eventcount is always increased when the locator (i.e. the mouse) > is moved, even when the mouse is outside the pad connected to the > process. This results in a lot of task_id=0 and event_id=0 events, > which makes the cursor flicker unpleasantly (because of the quick > succession of gpr_$acquire and release calls). I assume you're using sr9.2. In SR9.5 one of the many input improvements we made was to make the gpr eventcount a "local" eventcount. That is, a processes gpr eventcount will only be advanced when an event is enqueued to that processes gpr input event queue. (Some events are internal so you will still get an occasional(rare) spurious eventcount advance. These are primarily related to refresh events). You should see a dramatic improvement in this area if you run your application under 9.5. A note to all GRP programmers: In sr9.5 we made numerous improvements to input and cursor handling. Of course, whenever possible, we made sure that existing programs would take advantage of them - such as above. However, some improvements are not compatibile with previous releases; therefore, programs which could take advantage of them must be modified. E.g. the new gpr event gpr_$locator_update simplifies locator and cursor handling. I would recommend that all gpr programmers take time to review the sr9.5 release notes and documentaion. /dan