On Wed, Jun 14, 2006, Matthew Dillon wrote: > Well, for example, did you know that it is virtually impossible to use > a DBM database in a threaded program due to the stupid POSIX-says-you- > must-release-all-locks-on-close() problem? You can't treat the threads
That's not a problem in libmilter, is it? > as independant entities because of that locking issue. Have you ever > tried doing a DNS lookup from a threaded program? Yes. sendmail X does it. I had to write the code myself because there was no thread safe resolver at that time. It's no fun, but I implemented an asynchronous resolver in a multi-threaded program. > It took literally weeks for me to track down problems with my libmilter > code due to the threading. Sorry, but I don't see why you came to the conclusion to say there are "races" in the sendmail (libmilter) code. > I'll tell you what I want for a spam filter... just a simple unix > domain socket that the filter can listen and accept connections on. Feel free to use the MTA - libmilter protocol to write your own library (it's fairly simple). In fact, there are other implementations available (e.g., jilter). May we close this subthread with the conclusion that you have not found a "race" in libmilter? Thanks.
