Xref: utzoo comp.sys.att:5566 unix-pc.general:2257 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!apple!voder!pyramid!nessus!ivucsb!todd From: todd@ivucsb.UUCP (Todd Day) Newsgroups: comp.sys.att,unix-pc.general Subject: SIGPHONE on UNIXPC not working Keywords: signal UNIXPC Message-ID: <532@ivucsb.UUCP> Date: 14 Feb 89 17:46:58 GMT Distribution: usa Organization: The Audio Club at UCSB, Isla Vista, California Lines: 36 I am having a problem getting a program to catch the SIGPHONE signal. Here is a short bit of my program: extern int wakeup(); main() { signal(SIGPHONE, wakeup); /* catch SIGPHONE (SIG_IGN by default)*/ printf("before pause\n"); pause(); /* take a siesta until phone rings */ signal(SIGPHONE, SIG_IGN); /* ignore anymore phone changes */ } /* wakeup is a dummy so we can catch phone changes */ int wakeup() { printf("SIGPHONE\n"); } The output of this program simply produces: before pause and then it hangs. That's fine, but when the phone rings, or when I toggle the status of the line, my program still hangs without further output. It appears that my program never gets SIGPHONE. However, the phone manager says VOICE 1: