On Thu, May 11, 2000 at 09:05:58PM +0200, Michael Natterer <[EMAIL PROTECTED]> 
> > The libgimp code could try to set the signal handler to SIG_DFL before
> > executing the code of the plug-in.
> We don't need to do this, as (exec()'ed) children can't inherit handlers
> from their parent anyway.

If you ignore signals (you said so) this is very well inherited by
children (this is how programs like nohup work). However, this is not
necessarily a problem, of course.  It might just be unexpected by libgimp
in the child, for example, or by plug-ins, and most probably it's not the
intented action to ignore any signals by default (where the default action
isn't ignore) in the plug-ins.

I would really prefer leaving most of the signal handlers intact (or under
program control). It would be nice if a plug-in could choose to call

  gimp_signal_safetynet ();

If it wanted all it's signals to be clobbered. And gimp_main could change
the signals it really requires. The problem is that now, a call to
gimp_main (which doesn't return) changes signal handlers without leaving
the caller the option of not (or the option of later re-setting them
again, since "later" might be never)

> > signal handlers installed by the Gimp should call the ones that were
> > installed before.  But then we have to support the systems that have
> Do you really think this is neccessary?

I can imagine that gimp needs control over a few signals (although I
cannot imagine which ones at the moment). The current situation, however,
is, that gimp (or glib?) changes many signals in plug-ins (like SIGPIPE)
without any visible benefit. Inherited settings are not the problem here
(no handlers).

> I'd rather like to wait it the current code (which is not really
> different from the old one except that it uses sigaction()) works as
> expected.

It's indeed the behaviour of the old code that's bugging me ;) But I get
a bit nervous when the number of clobbered signals increases, rather then

      -----==-                                             |
      ----==-- _                                           |
      ---==---(_)__  __ ____  __       Marc Lehmann      +--
      --==---/ / _ \/ // /\ \/ /       [EMAIL PROTECTED] |e|
      -=====/_/_//_/\_,_/ /_/\_\       XX11-RIPE         --+
    The choice of a GNU generation                       |

Reply via email to