Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!rex!spool.mu.edu!agate!dog.ee.lbl.gov!elf.ee.lbl.gov!torek From: torek@elf.ee.lbl.gov (Chris Torek) Newsgroups: comp.unix.questions Subject: Re: signals & system calls Message-ID: <13948@dog.ee.lbl.gov> Date: 5 Jun 91 15:57:53 GMT References: <1991Jun4.230245.6784@beaver.cs.washington.edu> Reply-To: torek@elf.ee.lbl.gov (Chris Torek) Organization: Lawrence Berkeley Laboratory, Berkeley Lines: 18 X-Local-Date: Wed, 5 Jun 91 08:57:53 PDT In article <1991Jun4.230245.6784@beaver.cs.washington.edu> pauld@cs.washington.edu (Paul Barton-Davis) writes: >Suppose a process receives a signal, but makes no system calls. Am I >right in thinking that it will not receive the signal until its time >quantum expires, it is rescheduled, and finally gets to run again ? No. The kernel is supposed to arrange for some sort of `kick me' sign to get pasted on the process, so that the signal will get delivered more or less immediately. 4BSD on the VAX uses the Asynchronous System Trap hardware feature to do it; other BSD ports emulate ASTs on every return-from-trap (which is rather silly, but easy; I have yet to fix my own Sparc kernel, e.g. ---but first I need to make /dev/console work; it does not run well without a console :-) ). -- In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 415 486 5427) Berkeley, CA Domain: torek@ee.lbl.gov