Do threads conflict?
Dan Nelson
dnelson at allantgroup.com
Mon Oct 13 14:38:41 PDT 2003
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 at allantgroup.com
More information about the freebsd-questions
mailing list