Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!sgi!msc@ramoth.SGI.COM From: msc@ramoth.SGI.COM (Mark Callow) Newsgroups: comp.sys.sgi Subject: Re: 3.1D Upgrade problems Summary: a race condition in init.ps Message-ID: <32527@sgi.SGI.COM> Date: 11 May 89 01:41:51 GMT References: <12882@ut-emx.UUCP> Sender: daemon@sgi.SGI.COM Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 51 In article <12882@ut-emx.UUCP>, russo@chaos.utexas.edu (Tom Russo) writes: > We have recently installed the "maintenance tapes" to bring our IRIX up to > 3.1D on 2 personal irises and a 4server8. Now 4sight seems to be broken in > a wierd way: Most of us here have user.ps files to remap keys, put up tools, > and fire up toolchests. Those of us who do have these things in our directories > now find that the tools and chests fail to come up one time in 3. The user.ps > files look like this: There is a race condition between when the server starts listening and when StartMostThings is called in init.ps. We didn't see this until we started work on release 3.2. I'm not sure exactly what moved things into the window of vulnerability. Anyway here is a context diff which you can apply to the file /usr/NeWS/lib/NeWS/init.ps. --- Peter Broadwell Mark Callow *** old.init.ps Wed May 10 18:14:51 1989 --- init.ps Wed May 10 18:15:26 1989 *************** *** 572,577 } null framebuffer eventmgrinterest ] forkeventmgr def } def /&main {go! DebuggingServer? {executive} if} def --- 572,578 ----- } null framebuffer eventmgrinterest ] forkeventmgr def + StartMostThings } def /&main {go! DebuggingServer? {executive} if} def *************** *** 681,685 systemdict /cursorfont known {/ptr /ptr_m framebuffer setstandardcursor} if systemdict /ROOTPROC known { ROOTPROC killprocess systemdict /ROOTPROC undef } if - - StartMostThings --- 682,684 ----- systemdict /cursorfont known {/ptr /ptr_m framebuffer setstandardcursor} if systemdict /ROOTPROC known { ROOTPROC killprocess systemdict /ROOTPROC undef } if -- -Mark