Path: utzoo!attcan!uunet!wyse!mips!prls!pyramid!decwrl!mejac!gryphon!oleg From: oleg@gryphon.CTS.COM (Oleg Kiselev) Newsgroups: comp.sources.games.bugs Subject: Re: MAZEWAR compile-time error Message-ID: <7424@gryphon.CTS.COM> Date: 1 Oct 88 09:55:29 GMT References: <1683@uop.edu> <12600002@cpe> <7409@gryphon.CTS.COM> <239@jato.Jpl.Nasa.Gov> Reply-To: oleg@gryphon.CTS.COM (Oleg Kiselev) Organization: HASA Lines: 31 In article <239@jato.Jpl.Nasa.Gov> jbrown@jato.UUCP (Jordan Brown) writes: >The exact problem you are having is that your kernel does not allow >opening the pipe for read/write. That is, you are not allowed to >open(pipe,2). I had neglected to say that POSIX had explicitly prohibited R/W pipes. And our kernel is being POSIX-taylored. >Mazewar does this so that the parent (the keyboard >process) can kick the kid (the screen process) when you hit ^L. The >fix (which I haven't tried) is to change that open(...,2) to an >open(...,1). (This code is in user.c in the routine init_pipes.) Note >that the child process closes the pipe and reopens it for read, so this >change won't hurt it. I had not had time to look at that code at all -- I saw the bi-directional pipe and assumed that there was more communication going on... My mistake. Should have been more careful -- I had run into this problem before with other software, but I was getting payed for solving it then! :-) I will see if just opening the pipe for write only will work. I was under impression that I will need to open a second pipe for reading -- and did not have any time to try it... And, like, keep those jokes flowing in, eh? -- .signature quote leased to Richard Sexton Oleg Kiselev ARPA: lcc.oleg@seas.ucla.edu, oleg@gryphon.cts.com (213)337-5230 UUCP:...!ucla-cs!lcc!oleg