From: utzoo!decvax!cca!rlb@Purdue@sri-unix
Newsgroups: net.unix-wizards
Title: Re:  /dev screwed up
Article-I.D.: sri-unix.3014
Posted: Mon Aug 30 22:58:19 1982
Received: Wed Sep  8 06:51:28 1982

From: Bob Brown 
Date: 25 Aug 1982 23:58:02-EST
4.1BSD USERS ONLY!

All you sites out there that have suffered losing /dev, please disregard
Mike O'Dell's last letter.  Don't think that just turning off comsat is
going to save your file system from the inode reference-count error in
the multiplexor.  

Mike, a good reason to fix the multiplexor is because comsat is not the
only program that uses it.  Another is Gosling's emacs and others include
various windowing packages under investigation at several sites.
Mike Accetta and James Gosling at CMU have fixed two known problems with
the multiplexor and one of them caused the /dev screwup.

So, save your /dev if you can.  Mike Accetta is willing to send out
the changed mx2.c or you can get it here.  Do it - it slips in with
no trouble at all.

For you multiplexor hacks out there, try running this program
10 times:

	#include 
	#include 
	#define P(s) printf("s returns %d\n",s)
	char *mpxfile = "mpxfile";
	main()
	{
	        int i;
	        P(unlink(mpxfile));
	        P(mpx(mpxfile,0666));
	        if ( fork()==0 ) {
	                for ( i=0 ; i<20 ; i++ )
	                        close(i);
	                P(open(mpxfile,2));
	                exit(1);
	        }
	        sleep(2);
	        kill(getpid(),9);
	}

It tends to gobble up group[] table entries - never to be returned.
Type "echo groups,10/X | adb /vmunix /dev/kmem" after each run and
watch the table entries just go away (it also eats inode table entries).

About comsat:  I just changed it so if you say "biff b", you get a
polite little "beep" at your terminal when you get a new letter.  If
you tend to sit inside emacs all day or slide over to your desk to
do some "real" work for extended periods, the "set mail=(1" solution
just isn't adequate.  Changed biff.c and comsat.c are available for
the asking, too.

Bob Brown (rlb)
Purdue-CS (317)494-6530

PS Mike O'Dell, you forgot to FLAME OFF, you still OK?