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



Hi,

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
manner.

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 http://netbsd.gw.com/cgi-bin/man-cgi?res_nsend++NetBSD-current
>
> HTH
>
> --
> Jean-Yves Migeon
> jeanyves.migeon%free.fr@localhost




Home | Main Index | Thread Index | Old Index