pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: exim 4.70 on NetBSD 5.0.1 failure


I got also some hints from the exim list about that problem:
Well it is an issue, but again I think you've missed the key point here:
Exim doesn't use threads, thus it does not access _res in an unsafe

It's entirely fork() based so each new process will have its own copy of
_res which is can with as it pleases.

Even so, if Exim has access to _res implemented incorrectly, we should
probably look at fixing that. Does anyone know of a good reference
program for whatever resolver library we're talking about?

"thread safe" or "not thread safe". The point is: exim does not run on
netbsd! Crude source code?

Is there a better resolver library i can use for exim on netbsd?

> _res is a structure used by resolver(3) to resolve domain name queries.
> As it is used as a global variable, access to it cannot be thread-safe
> (the old API does not define a lock that permits the access of this
> struct in a thread-safe manner).
> Fix:
> There should be some piece of code in exim 4.70 that uses _res directly.
> It should be rewritten with the res_n*() (res_ninit, res_nsend, ...)
> functions, which are thread-safe.
> See also
> --
> Jean-Yves Migeon

Home | Main Index | Thread Index | Old Index