Date: Sun, 23 Jan 2000 11:27:28 -0800 (PST) From: John Polstra <jdp@polstra.com> To: current@freebsd.org Subject: Re: rtld-elf, java + tya Message-ID: <200001231927.LAA19042@vashon.polstra.com> In-Reply-To: <Pine.BSF.4.21.0001211839110.67324-100000@iclub.nsu.ru> References: <Pine.BSF.4.21.0001211839110.67324-100000@iclub.nsu.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
> ld-elf.so.1: assert failed: /usr/src/libexec/rtld-elf/lockdflt.c:55 If any of you can reproduce this problem fairly reliably, please try the appended patch for "src/libexec/rtld-elf/lockdflt.c" and let me know if it solves the problem. Thanks, John Index: lockdflt.c =================================================================== RCS file: /home/ncvs/src/libexec/rtld-elf/lockdflt.c,v retrieving revision 1.3 diff -u -r1.3 lockdflt.c --- lockdflt.c 2000/01/09 21:13:48 1.3 +++ lockdflt.c 2000/01/23 19:03:26 @@ -28,10 +28,9 @@ /* * Default thread locking implementation for the dynamic linker. It * is used until the client registers a different implementation with - * dllockinit(). The default implementation does mutual exclusion - * by blocking the SIGVTALRM, SIGPROF, and SIGALRM signals. This is - * based on the observation that most userland thread packages use one - * of these signals to support preemption. + * dllockinit(). The default implementation does mutual exclusion by + * blocking almost all signals. This is based on the observation that + * most userland thread packages use signals to support preemption. */ #include <dlfcn.h> @@ -63,10 +62,13 @@ l = NEW(LockDflt); l->depth = 0; - sigemptyset(&l->lock_mask); - sigaddset(&l->lock_mask, SIGVTALRM); - sigaddset(&l->lock_mask, SIGPROF); - sigaddset(&l->lock_mask, SIGALRM); + sigfillset(&l->lock_mask); + sigdelset(&l->lock_mask, SIGTRAP); + sigdelset(&l->lock_mask, SIGABRT); + sigdelset(&l->lock_mask, SIGBUS); + sigdelset(&l->lock_mask, SIGSEGV); + sigdelset(&l->lock_mask, SIGKILL); + sigdelset(&l->lock_mask, SIGSTOP); return l; } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001231927.LAA19042>