Re: 4.4 -> 4.7: /bin/sh very broken?

From: Philipp Mergenthaler <philipp.mergenthaler(at)stud.uni-karlsruhe.de>
Date: Sat, 15 Mar 2003 19:58:45 +0100

On Sat, Mar 15, 2003 at 11:51:40AM +0100, Oliver Fromme wrote:
> Peter Much <pmc(at)citylink.dinoex.sub.org> wrote:
> > #include <unistd.h>
> > main() {
> > alarm(2);
> > sleep(3);
> > }
> Daß dieser Source »broken« ist, ist Dir schon klar, oder?

Mir nicht...

> Mal von den offensichtlichern Fehlern abgesehen: Wenn man
> ein SIGALRM auslöst, sollte man dafür auch einen Signal-
> Handler installieren.

"Sollte", ja. Aber warum sollte es ein Fehler sein, die Defaultaktion
(terminate process) von SIGALARM benutzen zu wollen?
Stevens' "Advanced Programming..." scheint das auch zu erlauben:
  Although the default action for SIGALRM is to terminate the process,
  most processes that use an alarm clock catch this signal. If the
  process then wants to terminate, it can perform whatever cleanup is
  required before terminating.

> > Waer also nett, wenn mal jemand mit 4.7 das kurz reproduzieren
> > koennte.
> Mit dem fehlerhaften C-Source kann ich es in der Tat repro-
> duzieren.

Es ist auch auf -current reproduzierbar. Es ist auch reproduzierbar,
wenn a.out durch ein anderes Signal stirbt (z.B. wenn es ein SIGFPE
auslöst oder manuell mit kill beendet wird).

IMHO ist da ein Problem Report angebracht.

Tschüß, Philipp

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 15 Mar 2003 - 19:58:40 CET

search this site