zsh-workers
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: zsh-workers@sunsite.auc.dk
Subject: Re: Problems with trap handling?
Date: Wed, 2 Feb 2000 16:11:36 +0000	[thread overview]
Message-ID: <1000202161136.ZM7024@candle.brasslantern.com> (raw)
In-Reply-To: <200002021530.QAA11346@beta.informatik.hu-berlin.de>

On Feb 2,  4:30pm, Sven Wischnowsky wrote:
} Subject: Re: Problems with trap handling?
}
} James Kirkpatrick wrote:
} 
} > I've slowly (too slowly!) been working with Bart Schaefer since around
} > November to determine the nature of a loop that occurs if you turn on
} > history files.  It appears that (for example) a disconnect (hangup) causes
} > zsh to loop in a manner where it consumes all available memory, severely
} > impacting other users, until it presumably finally aborts.  Putting a
} >   TRAPHUP () { exit 1 }
} > works around the problem but I need to try a patch Bart sent me as well.
} 
} Hm, I think I vaguely remember the problem you described (unless you
} never posted it to the list, in which case I vaguely remember
} something completely different). Dunno if it has anything to do with
} the bugs I'm trying to fight... (but I don't think so, I would need to 
} know where it hangs).

It appears to be repeatedly calling a signal handler.  I'm not able to
reproduce the bug on my Linux box.

Following is the patch to which James referred.  It simply makes sure that
zsh doesn't HUP itself when exiting.  It seems like a reasonable enough
precaution.

Index: Src/signals.c
===================================================================
@@ -540,7 +540,8 @@
         if ((from_signal || i != thisjob) && (jobtab[i].stat & STAT_LOCKED) &&
             !(jobtab[i].stat & STAT_NOPRINT) &&
             !(jobtab[i].stat & STAT_STOPPED)) {
-            if (killpg(jobtab[i].gleader, SIGHUP) != -1)
+            if (jobtab[i].gleader != getpid() &&
+		killpg(jobtab[i].gleader, SIGHUP) != -1)
                 killed++;
         }
     if (killed)

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com


  reply	other threads:[~2000-02-02 16:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-02 15:30 Sven Wischnowsky
2000-02-02 16:11 ` Bart Schaefer [this message]
  -- strict thread matches above, loose matches on Subject: below --
2000-02-02  8:32 Sven Wischnowsky
2000-02-02 15:14 ` James Kirkpatrick
2000-01-31 12:07 Sven Wischnowsky
2000-02-01 18:45 ` Peter Stephenson
2000-01-30 18:47 Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1000202161136.ZM7024@candle.brasslantern.com \
    --to=schaefer@candle.brasslantern.com \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).