Parahat Melayev wrote:

multi-thread bir programda syslog kullanmayi dusunuyorum. syslog.h -a baktim 
fakat herhangi reentrant olma durumu farkedemedim. Multi-thread programda 
syslog araciligiyla loglama yaparken mutlaka mutex kullanmam gerekiyor mu?

selamlar,
parahat

merhaba,

Syslog thread-safe degildir. Log file descriptor'u lock etmeniz gerekir. Bunun disinda lock etmek gereken baska buffer'lar da var.

Tavsiyem Murat Balaban'in (askerde su an) yazdigi miscutil i kullanmaniz. Log library iceriyor. Threadsafe olarak kullanmak icin

#define __REENTRANT

veya Makefile icinde -D__REENTRANT flag'ini verin.

miscutil.c ve miscutil.h yeterli
http://cvsweb.enderunix.org/cgi-bin/cvsweb.cgi/qsheff/miscutil.c?rev=1.3&content-type=text/x-cvsweb-markup

qsheff'de kullandim, ornek icin:
http://cvsweb.enderunix.org/cgi-bin/cvsweb.cgi/qsheff/log.c?rev=1.29&content-type=text/x-cvsweb-markup

qsheff source'larinda vardir.

selamlar...

--
Baris Simsek
http://www.enderunix.org/simsek/


---------------------------------------------------------------------
Cikmak icin, e-mail: [EMAIL PROTECTED]
Liste arsivi: http://lists.enderunix.org
Turkiye'nin ilk FreeBSD kitabi: http://www.acikakademi.com/freebsd.php


Cevap