Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!houxz!vax135!cornell!uw-beaver!tektronix!hplabs!sri-unix!speck@CIT-VAX.ARPA From: speck@CIT-VAX.ARPA Newsgroups: net.unix-wizards Subject: Clarification of device driver subtleties Message-ID: <375@sri-arpa.UUCP> Date: Tue, 24-Jul-84 16:43:00 EDT Article-I.D.: sri-arpa.375 Posted: Tue Jul 24 16:43:00 1984 Date-Received: Fri, 27-Jul-84 08:19:45 EDT Lines: 15 From: Don Speck Before I get any more letters misinterpreting my question, let me clarify: nowhere did I mention ANYTHING about calling sleep() from an interrupt routine! As you can see in my letter, I call sleep() at ipl 0x14 from rlpwrite(), the write routine for my driver. Please don't tell me that it can't work, because a lot of 4.2bsd drivers do it; look at lpoutput() in /sys/vaxuba/lp.c. Perhaps I confused everybody by using the term "interrupt level" when I should say "processor priority raised to ipl 0x14 to temporarily lock out interrupts during a critical section". So let me rephrase the question: Does sleep() do anything strange when called with processor priority at 0x14, and can signals such as SIGINT/SIGQUIT interrupt such a sleep? Don Speck