screen-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [screen-devel] [bug #25089] screen produces zombies


From: Jürgen Weigert
Subject: Re: [screen-devel] [bug #25089] screen produces zombies
Date: Sun, 29 Dec 2019 10:43:41 +0100

Marcin is right. We must be very cautious, what a signal handler does.The list in the sigaction manpage is nice finding. Thank you! In screen it prooved to be fatal, if a signal handler does malloc()/free(). That easily leads to invalid pointers in the rest of the code.

 take care, 
Jürgen-

Marcin Cieślak <address@hidden> schrieb am Sa., 28. Dez. 2019 20:35:
Follow-up Comment #12, bug #25089 (project screen):

The reason for this is that in the C language only some very narrow set of
library functions can be invoked from the signal handler

FreeBSD sigaction(2) manpage lists them and adds:

https://www.freebsd.org/cgi/man.cgi?query=sigaction&apropos=0&sektion=2&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html

> All functions not in the above lists are considered to be unsafe with
> respect to signals.  That is to say, the behaviour of such functions is
> undefined when they are called from a signal handler that interrupted an
> unsafe function.  In general though, signal handlers should do little
> more than set a flag; most other actions are not safe.

Therefore it was the best practice in the signal handlers only to   set the
variable and deal with the actual handling later.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?25089>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]