Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Oct 2003 16:38:36 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Mark <admin@asarian-host.net>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Do threads conflict?
Message-ID:  <20031013213836.GB21069@dan.emsphone.com>
In-Reply-To: <200310132105.H9DL5K01086760@asarian-host.net>
References:  <200310132105.H9DL5K01086760@asarian-host.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Oct 13), Mark said:
> I just installed Sendmail::Milter, which I believe uses the ithreads
> model for Perl. I created my own Milter (Perl-threaded 5.8.0), and
> everything runs fine... Except that now, when the Milter is running,
> tinyproxy 1.5.0 goes haywire, filling up its log like crazy with this
> message:
> 
> "Accept returned an error (Resource temporarily unavailable) ... retrying."
> 
> The only thing tinyproxy and the Milter have in common, is that they
> both use threads.
> 
> Is there perhaps something that prevents both programs from using
> threads? Perhaps the threads-enabled version of the daemonized perl
> Milter keeps a shared library locked? So, now I can run either one or
> the other, but not both. I use this on FreeBSD 4.7R.

They shouldn't conflict.  That sounds like a libc_r bug; I think the
wrapper for accept() should retry the accept() call for the user.

You might want to try updating to 4.8; there were a couple of important
commits to libc_r that fixed bugs that usually affected threaded
daemons:

2002-10-22 09:44  fjoe
	don't allow the uthread kernel pipe to use the same descriptors as stdio

2003-06-03 09:09  ru
        fix for a stale stdio descriptors flags bugs.

-- 
	Dan Nelson
	dnelson@allantgroup.com



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