Skip site navigation (1)Skip section navigation (2)
Date:      04 Feb 2003 00:38:19 +0000
From:      Wes Peters <wes@softweyr.com>
To:        Mikhail Teterin <mi+mx@aldan.algebra.com>
Cc:        Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: ports/multimedia/mplayer Makefile pkg-comment      pkg-plist ports/multimedia/mplayer/files patch-libdha::Makefile
Message-ID:  <1044319099.358.57.camel@zaphod.softweyr.com>
In-Reply-To: <200302031358.49261.mi%2Bmx@aldan.algebra.com>
References:  <200302030506.h1356Nha011918@repoman.freebsd.org> <200302031358.49261.mi%2Bmx@aldan.algebra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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




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