Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!fletcher From: fletcher@cs.utexas.edu (Fletcher Mattox) Newsgroups: comp.mail.mush Subject: SIGHUP and SIGTERM Keywords: smushed folders Message-ID: <6701@cs.utexas.edu> Date: 13 Aug 89 18:22:24 GMT Organization: U. Texas CS Dept., Austin, Texas Lines: 30 Why are these two signals handled in catch() even when IGN_SIGS is turned on? if (ison(glob_flags, IGN_SIGS) && sig != SIGTERM && sig != SIGHUP) return; What happens if a SIGHUP arrives during copyback() while signals are supposed to be ignored? Consider: 1. User types 'quit'. 2. copyback() turns on IGN_SIGS and begins to write the folder. (This can take many seconds with a large folder on a busy NFS server). 3. Before copyback() can finish, user shuts down his window manager, or his modem drops DTR, or ... 4. Mush catches the resultant signal and eventually exits. 5. copyback() never finishes and user's folder is corrupt. This has happened enough times around here that I'll probably either add a new global flag, REALLY_IGN_SIGS, or change the above fragment to: if (ison(glob_flags, IGN_SIGS)) return; Can something equivalent be added to the mush distribution? Thanks Fletcher