From owner-freebsd-bugs Wed Jan 1 02:00:04 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id CAA22005 for bugs-outgoing; Wed, 1 Jan 1997 02:00:04 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id CAA21981; Wed, 1 Jan 1997 02:00:02 -0800 (PST) Date: Wed, 1 Jan 1997 02:00:02 -0800 (PST) Message-Id: <199701011000.CAA21981@freefall.freebsd.org> To: freebsd-bugs Cc: From: Poul-Henning Kamp Subject: Re: bin/2347: sysinstall: ppp: recursive call in malloc() Reply-To: Poul-Henning Kamp Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk The following reply was made to PR bin/2347; it has been noted by GNATS. From: Poul-Henning Kamp To: andrew@ugh.net.au Cc: freebsd-gnats-submit@freebsd.org Subject: Re: bin/2347: sysinstall: ppp: recursive call in malloc() Date: Wed, 01 Jan 1997 10:55:42 +0100 In message <199701010829.AAA18663@freefall.freebsd.org>, andrew@ugh.net.au writ >When installing via PPP I got the message on vty2 (the PPP screen anyway): >ppp in malloc(): warning: recursive call. This is actually a pretty devastating thing. It means that a call to malloc(3),free(3) or realloc(3) got interrupted by a SIGALRM and the signal handler called one of them again. I'm not definitively sure what POSIX & friends say about the reentrancy of malloc(3) but I belive it is not required to be reentrant. Anybody know definitively what POSIX say here ? I could add sigprocmask(2) calls around malloc and friends, but that would mean adding two syscalls per malloc/free/realloc calls, so I don't like the idea. It could be an option that the program could select of course. Alternatively any program like ppp that uses SIGALRM for a state machine is severely limited in its implementation. -- Poul-Henning Kamp | phk@FreeBSD.ORG FreeBSD Core-team. http://www.freebsd.org/~phk | phk@login.dknet.dk Private mailbox. whois: [PHK] | phk@tfs.com TRW Financial Systems, Inc. Power and ignorance is a disgusting cocktail.