From owner-freebsd-current Sat Oct 21 6:18:25 2000 Delivered-To: freebsd-current@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 414FC37B4D7 for ; Sat, 21 Oct 2000 06:18:21 -0700 (PDT) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.8.7/PCNet) id JAA28448; Sat, 21 Oct 2000 09:17:55 -0400 (EDT) Date: Sat, 21 Oct 2000 09:17:54 -0400 (EDT) From: Daniel Eischen To: Blaz Zupan Cc: freebsd-current@FreeBSD.ORG Subject: Re: Bug in libc_r or broken application? In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, 21 Oct 2000, Blaz Zupan wrote: > Just tried installing "ohphone" under FreeBSD-current. "ohphone" is a H323 > compatible phone that can be used for Voice over IP, it's available in the > FreeBSD ports collection. Just starting the application produces the message > "User signal 2". That's it, nothing else, whatever option you supply. Copying > libc_r.so.4 from a 4.1.1 machine to the -current machine makes ohphone work. > Starting it under gdb I see that it receives a SIGUSR2, for whatever reason > does not catch it and fails. Why would an application suddenly receive a > SIGUSR2 when it wasn't receiving that signal with the 4.1.1 libc_r? It could be using pthread_kill(tid, SIGUSR2) to send the signal to a thread. If there is no signal handler installed for SIGUSR2, and if the action for the signal is SIG_DFL, then POSIX dictates that pthread_kill() also send the signal to the process. Before the changes I made last week, our threads library failed to do this. If this is the problem, then the fix would be to install a signal handler for SIGUSR2. I'm not sure why ohphone wouldn't have similar problems on other platforms, though. -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message