Path: utzoo!attcan!uunet!samsung!usc!zaphod.mps.ohio-state.edu!mips!prls!pyramid!unify!rja From: rja@unify.uucp (Rick Anderson) Newsgroups: comp.databases Subject: Re: Hang-up signals in Informix 4gl Message-ID: <13v6kp3@unify.uucp> Date: 13 Apr 90 02:42:22 GMT References: <2536@husc6.harvard.edu> Reply-To: rja@unify.UUCP (Rick Anderson) Organization: Unify Corporation, Sacramento, CA, USA Lines: 30 In article <2536@husc6.harvard.edu> bochner@harvard.EDU (Harry Bochner) writes: >I've been having the following problem with INFORMIX-4gl RDS (2.10.03F >on a sun4): >Our users use rlogin from (Encore) annex boxes. From time to time a user is >forceably logged out, for instance because of a failure in the annex >box. The host >machine gets a hangup signal, which properly kills the login shell, but it >doesn't kill the user's 4gl processes: instead of dying, fglgo falls >into a tight >loop (probably trying to report the error?), and eats up all the CPU >time it can >grab. These runaway jobs keep running, and degrading system performance, until >they are killed manually (or the system crashes). > >[deleted...] Some of our customers have experienced similar events on other platforms, almost universally all of them running through annex boxes or other multiplexing-type exchanges. The problem has been identified (in our case, anyways) as the UNIX 'read(2)' function being interrupted (SIGHUP) but returning a value of "0" instead of a value of '-1' and "errno=EINTR". On some platforms, we have been told that we should check 'errno' whenever a return value of "0" or "-1" is returned from 'read(2)'. -- Richard J. Anderson internet: rja@unify.UUCP Unify Corporation ...!{csusac,pyramid}!unify!rja 3870 Rosin Court voice: (916) 920-9092 Sacramento, CA 95834 fax: (916) 921-5340