Subject: re: bin/29654
To: None <netbsd-bugs@netbsd.org>
From: Elad Efrat <elad@NetBSD.org>
List: netbsd-bugs
Date: 12/22/2005 18:18:55
(I didn't get Christian's reply to this PR even though I'm listed as
responsible...)

Let me elaborate:

In dns.c (in links sources) you will see the "do_lookup" routine. If
NO_ASYNC_LOOKUP is not defined, it will call start_thread(), which,
when we HAVE_PTHREADS, call pthread_create() in turn to spawn a thread
to do the DNS lookup.

If you add -DNO_ASYNC_LOOKUP to the Makefile, you will be able to run
links under systrace just fine.

Whether this is because of our resolver library having problems with
threads or systrace in general having problems with threads - I don't
know. There's also a PR about systrace on MP machines having trouble
so this whole deal smells like systrace is having problems with
parallelism...

As for the workaround I noted you about... it's only a workaround to
not hang in the tsleep() (providing a timeout) so I didn't post it to
the list.

Thanks,

-e.

-- 
Elad Efrat