This is the mail archive of the libc-alpha@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [sbachman@saveware.com] libc/1534: When a program execl()'s in a signal function, the new program no longer responds to any signals set by the user.


I do not have my copy of 1003.1 handy to check that execl is indeed
supposed to be signal-safe.  If it is not signal-safe, then your program is
nonconforming.  If it is signal-safe, then your program is behaving as it
should.  The set of blocked signals is one of the things that survives
across exec, so the new program image will have SIGINT blocked when execl
was called from inside teh SIGINT handler, for example.

Also, your program fails to initialize sa_mask and therefore has undefined
behavior, the likely actual thing being some random bits causing additional
signals to be blocked in the signal handler.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]