When compiling ClamAV (or any application) to be multi-threaded on
Solaris, it's important to use "-D_REENTRANT" if the source depends on any
(well only certain ones, but just to be safe, "any" is fine) of the stock
Solaris header files.  I noticed that a few of the ClamAV source files do
define "_REENTRANT", but clamd seems to be lacking the definition in
general.  The tricky part is that you won't get compiler errors or
warnings if you don't define "_REENTRANT", but multi-threaded programs
will likely crash for seemingly no reason if you don't define it.  One
prime example of the difference is how "errno" is implemented differently
for a multi-threaded program - see /usr/include/errno.h on Solaris.

If nothing else, food for thought...

Cheers,

        Ed

Ed Phillips <[EMAIL PROTECTED]> University of Delaware (302) 831-6082
Systems Programmer III, Network and Systems Services


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Clamav-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/clamav-users

Reply via email to