2009-07-22 6 views
11

Gente, no puedo encontrar la versión re-entrante de syslog() para Linux ... ¿hay alguna? Y si no, ¿qué haces? La respuesta obvia es mover el recurso de registro a un hilo por separado y acceder en serie al registro del sistema ...syslog_r para Linux?

+0

¿Es menos obvio que se guarde la llamada syslog con un semáforo/mutex? Las personas podrán ayudarlo mejor si puede dar más detalles sobre lo que quiere hacer, y por qué la solución que usted propone es inaceptable. –

Respuesta

17

De acuerdo con el POSIX specification, la función syslog ya es segura para subprocesos y por lo tanto implementada en Linux. Entonces syslog_r es innecesario: use syslog si necesita una función de registrador reentrante.

+5

Los BSD definen una llamada syslog_r, sin embargo, por un motivo completamente diferente; hilos individuales pueden querer iniciar sesión con diferentes opciones de syslog, que de otro modo no es posible. –

+0

Derecha: esa función no está disponible en Linux. –

+0

[esta página] (http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.basetechref%2Fdoc%2Fbasetrf2%2Fsyslog.htm) dice que es no seguro de subprocesos –