README.txt
author viric@llimona
Thu, 06 Apr 2006 01:47:35 +0200
changeset 18 84fa30ea0b0d
parent 17 589406eaaf43
child 46 875902155b06
permissions -rw-r--r--
Ara sí - versió 1


Compilació:
--------------------------------------
Per compilar-lo fent servir gcc (crec que com a mínim 3.4, pel c99):
$ make

Per compilar-lo fent servir tcc (que suporta c99, és fàcil d'instal·lar, etc.
   (Tiny C Compiler, http://fabrice.bellard.free.fr/tcc/ ):
$ make -f Makefile.tcc

Per a testejar el programa, hi ha un petit script de test que requereix bash.
Per a execultar-lo:
$ ./test.sh


Els fitxers:
--------------------------------------
   syslog_in_udp <port>      Espera missatges pel port UDP especificat
                             (IPv4 i IPv6)
   syslog_in_npipe <npipe>   Espera missatges per la named pipe (ha d'existir!)
   syslog_in_unix <usocket>  Crea i escolta el socket unix per missatges
   syslog_kernel             Executa els anteriors programes, i llegeix de tots
                             alhora.
   unix_writer <usocket>     Programa per escriure a un Unix socket

Notes:
--------------------------------------
El programa està escrit en c99.

El programa no gestiona bé lectures de múltiples missatges per crida read().
Això és perquè encara en prou feines hem implementat alguna cosa de la
rfc 3164.

Els syslog_in_* entenen el missatge "close", cosa que fa que morin. Si moren
tots els fills de syslog_kernel, el kernel també mor.

El fitxer syslog_in_udp té una variable global que indica si es farà servir
IPv6 o no en temps d'execució.

El codi de llegir la "named pipe" intenta fer el possible amb locks i
reobertures de la pipe de manera que no es perdi mai la lectura de la
named pipe donada.