Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Oct 2004 09:48:00 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Marc Balmer <marc@msys.ch>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: syslog() reentrant when compiling with -pthread?
Message-ID:  <20041006144800.GB87201@dan.emsphone.com>
In-Reply-To: <FFEC3743-17A3-11D9-BB63-0003938168B2@msys.ch>
References:  <FFEC3743-17A3-11D9-BB63-0003938168B2@msys.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Oct 06), Marc Balmer said:
> I am a long time Unix developer but new with FreeBSD. I worked the
> last years mostly with OpenBSD.  First I am overwhelmed by the number
> of mailing lists you guys provide.  Second I am not sure if I picked
> the right one ;-) So please direct me to the right place if this list
> is only for discussion of FreeBSD system development...
> 
> My question regarding thread-safeness of syslog():  On OpenBSD I used
> syslog_r() to do thread safe logging (the software in question is a
> sendmail milter, which runs multithreaded).  FreeBSD does not have
> these functions, but the cc man page states that compiling with
> "-pthread" links in the thread safe libc_r library instead of libc. 
> As syslog() seems to part of libc on FreeBSD, is it safe to assume
> that syslog() is indeed thread safe on FreeBSD when compiling with
> the -pthread switch?

The only unsafe part is openlog(), so set that up before you start any
threads and you'll be okay.  Once the log fd is opened, the syslog()
call looks to be thread-safe.  Everything in there is done with local
variables and atomic writes.

-- 
	Dan Nelson
	dnelson@allantgroup.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041006144800.GB87201>