Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!cbosgd!mandrill!hal!ncoast!allbery From: allbery@ncoast.UUCP Newsgroups: comp.sources.d Subject: Re: Jove pipeprocs Message-ID: <4788@ncoast.UUCP> Date: Fri, 2-Oct-87 19:02:01 EDT Article-I.D.: ncoast.4788 Posted: Fri Oct 2 19:02:01 1987 Date-Received: Sun, 4-Oct-87 01:24:36 EDT References: <1658@killer.UUCP> Reply-To: allbery@ncoast.UUCP (Brandon Allbery) Followup-To: comp.sources.d Organization: Cleveland Public Access UN*X, Cleveland, Oh Lines: 30 As quoted from <1658@killer.UUCP> by elg@killer.UUCP (Eric Green): +--------------- | Has anybody managed to get Jove's pipeprocs to work with Sys V? | | Since Sys V has pipes just like any other Unix, I fail to see what the heck | the problem is, besides converting the signal names from BSD to AT&T... alas, | I haven't the slightest idea what AT&T signal corresponds to what BSD signal | (I am NOT a Sys V expert). +--------------- The problem is that in order to prevent what I would guess is a race condition involving signals between the parent and child processes, iproc-pipes.c must sigblock(SIGCHLD) after forking and then unblock it when its handlers are set up for the new child process. YOU CAN'T BLOCK SIGNALS (effectively, defer them) UNDER SYSTEM V! At least not under V.2; V.3.1 supposedly got some of the original 4.1BSD version of signals. Golly gee, V.4 might even have a rational signal setup. Of course, if it works to write a sigblock() which temporarily sets the handler for the signal to a routine which bumps a counter, then at restore if the counter is set we call the signal handler, then we can do this. Since I have the pty driver for SYstem V installed, I'd use iproc-ptys.c instead... then again, I'm going whole-hog (GNU Emacs) anyway as soon as I can. -- Brandon S. Allbery, moderator of comp.sources.misc {{harvard,mit-eddie}!necntc,well!hoptoad,sun!mandrill!hal}!ncoast!allbery ARPA: necntc!ncoast!allbery@harvard.harvard.edu Fido: 157/502 MCI: BALLBERY <> "`You left off the thunderclap and the lightning flash.', I told him. `Should I try again?' `Never mind.'" --Steven Brust, JHEREG