home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!charon.amdahl.com!pacbell.com!mips!sdd.hp.com!usc!elroy.jpl.nasa.gov!ucla-cs!ucla-se!pantheon!willing
- From: willing@pantheon.icsl.ucla.edu (Scott Willingham)
- Newsgroups: comp.sys.atari.st.tech
- Subject: Re: Trapping ^C
- Message-ID: <7876@lee.SEAS.UCLA.EDU>
- Date: 19 Aug 92 17:21:55 GMT
- References: <1992Aug14.103938.1@uwovax.uwo.ca> <1992Aug15.220008.22145@mnemosyne.cs.du.edu> <1992Aug17.172819.7279@pbhya.PacBell.COM>
- Sender: news@SEAS.UCLA.EDU
- Organization: University of California at Los Angeles, EE Dept.
- Lines: 46
-
- In article <1992Aug17.172819.7279@pbhya.PacBell.COM> dbsuthe@PacBell.COM
- (Daniel B. Suthers) writes:
- >In article <1992Aug15.220008.22145@mnemosyne.cs.du.edu> ilepore@nyx.cs.du.edu
- (Ian Lepore) writes:
- >>
- >> Yeah ::sigh:: unfortunately what I'm doing is trying to build a signal()
- >>system for dlibs, for folks not running under MiNT.
- >>
- >>
- >> Aw sh*t you're kidding! I hadn't checked it, I just assumed GEMDOS would
- >>be bright enough to manage the pterm vector on a per-process basis.
- >>
- >> Actually, I had about given up on implementing SIGINT at all, but I was
- >>gonna implement the ANSI-defined SIGTERM and tie it to the termination
- >>vector. I was also going to use the termination vector to clean up hooks
- >>in other vectors (for handling SIGSEGV and stuff). It looks like this is
- >
- >This is just an idea as I have no docs to check...
- >
- >After intercepting the call, could you not check the keyboard to see what the
- >last character was? It should still be there (somewhere) to tell you what
- >had happened.
-
- Sorry, but I don't think that will work. I was hacking around at one time
- on the MiNT kernel and attempting something similar. I hooked into the
- keyboard vector, trying to delete ^C from the keyboard buffer before
- Cconws(), etc. could detect it. Although I never disassembled the BIOS to
- verify this, it appears that the ^C often never gets into the keyboard
- buffer. I suspect that the keyboard interrupt handler takes action on
- the ^C as soon as it comes in (this must be flagged to occur only when
- higher level I/O routines are active...). Perhaps I screwed up in my
- code somewhere, but I could never find a ^C anywhere in the buffer.
-
- Scott Willingham // willing@icsl.ucla.edu
- .
- .
- .
- .
- .
- .
- .
- .
- .
- .
- .
-
-