Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!ucbvax!XX.LCS.MIT.EDU!ROMKEY From: ROMKEY@XX.LCS.MIT.EDU (John Romkey) Newsgroups: comp.protocols.tcp-ip Subject: Re: MIT/CMU PC/IP under Microsoft C V. 4.0? Message-ID: <12345761316.38.ROMKEY@XX.LCS.MIT.EDU> Date: Tue, 27-Oct-87 03:12:23 EST Article-I.D.: XX.12345761316.38.ROMKEY Posted: Tue Oct 27 03:12:23 1987 Date-Received: Thu, 29-Oct-87 20:26:47 EST References: <4691@elroy.Jpl.Nasa.Gov> Sender: usenet@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 23 When we wrote PC/IP, we needed a way to make sure that certain functions were called when the program exited. Most importantly, we had to shutdown the network interface and release its interrupt and the clock interrupt. If you don't do that, the next time you run a program and a network interrupt happens (like, a packet shows up for you), the PC will jump off into hyperspace and you'll get a DOS-shattering KABOOM. So we defined our own exit() routine; no problem, we had control over the whole standard I/O library for the C (cross-)compiler we were using. Then Drew Perkins at CMU ported it to MSC, and MSC 4.0 came along, and MSC 4.0 broke the exit_hook() stuff we defined. The right way to fix it is to get rid of PC/IP's own exit() function and to change exit_hook() to just call the MSC onexit() function. Don't worry, MSC 5.0 will probably break this again, as they've renamed it to atexit() in 5.0. MIT is no longer working on PC/IP. You can get a version of it for MSC 4.0 over the net from CMU; FTP Software also sells a commercial version that works with MSC 4.0. I don't know the state of any of the other offshoots of it regarding rolling your own programs. - john romkey ftp software -------