Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Nov 2004 20:39:56 +0000
From:      Kyryll A Mirnenko <mirya@innovativemarketing.com.ua>
To:        freebsd-questions@freebsd.org
Subject:   KSE headache: Spinlock called when not threaded
Message-ID:  <200411082039.57036.mirya@innovativemarketing.com.ua>

next in thread | raw e-mail | index | archive | help
I found out some apps recompiled with KSE libpthread (not from ports, just by 
myself from original sources) are terminated with this message while worked 
fine for libc_r; here's the source (lib/libpthread/thr_spinlock.c):

void
_spinlock(spinlock_t *lck)
{
        struct spinlock_extra *extra;

        if (!__isthreaded)
                PANIC("Spinlock called when not threaded.");
        if (!initialized)
                PANIC("Spinlocks not initialized.");
        /*
         * Try to grab the lock and loop if another thread grabs
         * it before we do.
         */
        if (lck->fname == NULL)
                init_spinlock(lck);
        extra = (struct spinlock_extra *)lck->fname;
        pthread_mutex_lock(&extra->lock);
}

Removing the 1st check works for most apps, but some of 'em (xmms is the one) 
hang up there; can anyone tell me what can be wrong there?
--------------
Regards, Mirya
ICQ #313898202



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