From owner-cvs-all Mon Feb 3 23:41:29 2003 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0BDC237B401; Mon, 3 Feb 2003 23:41:28 -0800 (PST) Received: from smtp-relay.omnis.com (smtp-relay.omnis.com [216.239.128.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E59343F75; Mon, 3 Feb 2003 23:41:27 -0800 (PST) (envelope-from wes@softweyr.com) Received: from [192.168.0.4] (66-75-151-22.san.rr.com [66.75.151.22]) by smtp-relay.omnis.com (Postfix) with ESMTP id C34464337A; Mon, 3 Feb 2003 23:39:36 -0800 (PST) Subject: Re: cvs commit: ports/multimedia/mplayer Makefile pkg-comment pkg-plist ports/multimedia/mplayer/files patch-libdha::Makefile From: Wes Peters To: Mikhail Teterin Cc: Mario Sergio Fujikawa Ferreira , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org In-Reply-To: <200302031358.49261.mi+mx@aldan.algebra.com> References: <200302030506.h1356Nha011918@repoman.freebsd.org> <200302031358.49261.mi+mx@aldan.algebra.com> Content-Type: text/plain Organization: Softweyr LLC Message-Id: <1044319099.358.57.camel@zaphod.softweyr.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.0 Date: 04 Feb 2003 00:38:19 +0000 Content-Transfer-Encoding: 7bit Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 2003-02-03 at 18:58, Mikhail Teterin wrote: > There remains an unresolved issue with mplayer on FreeBSD -- some of the > libraries it dlopens and dlcloses are calling atexit() in between with > their own functions. > > This causes SEGFAULTs in exit(), which tries to call those functions. > The application catches the signals and would not quit until SIGKILL-ed. > > This does not affect Linux, where, reportedly, calls to atexit() are > treated differently if made from dlopened code. I'm not sure how best > to fix this (Call _exit()? Remove signal handlers before exit()?), but > something needs to be done... I think ideally we'd want dlclose to be able to deinstall any atexit handlers that were installed by library functions. The most straight- forward path to this I can see is an atexit-remove call that can be passed a start and end address and will remove any function references found between the two. dlclose could call this function with the start and end addresses of the library text segment to remove any exit handlers in the library code space. I can probably take a look at this later in the week if this seems like a reasonable approach. -- Where am I, and what am I doing in this handbasket? Wes Peters wes@softweyr.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message