Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Sep 2002 06:06:25 -0700 (PDT)
From:      Pierre-Etienne Moreau <Pierre-Etienne.Moreau@loria.fr>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/42477: atexit+exit result in infinite recursive calls
Message-ID:  <200209061306.g86D6Pmw060965@www.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         42477
>Category:       i386
>Synopsis:       atexit+exit result in infinite recursive calls
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 06 06:10:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Pierre-Etienne Moreau
>Release:        4.6-STABLE
>Organization:
Loria - INRIA
>Environment:
FreeBSD escher.loria.fr 4.6-STABLE FreeBSD 4.6-STABLE #0: Mon Aug 26 11:30:41 CEST 2002     pem@escher.loria.fr:/usr/obj/usr/src/sys/ESCHER  i386

>Description:
What is the behavior of exit() when an exit() function is called by a function recorded by atexit() ?

On Linux and solaris, exit() is called only once
On FreeBSD, an infinite loop occurs

>How-To-Repeat:
#include <stdlib.h>
#include <stdio.h>
void f() { printf("f\n"); exit(1); }
main()   { atexit(f); exit(0); }
 
>Fix:
      
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209061306.g86D6Pmw060965>