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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     1
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     2
Compilació:
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     3
--------------------------------------
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     4
Per compilar-lo fent servir gcc (crec que com a mínim 3.4, pel c99):
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     5
$ make
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     6
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     7
Per compilar-lo fent servir tcc (que suporta c99, és fàcil d'instal·lar, etc.
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     8
   (Tiny C Compiler, http://fabrice.bellard.free.fr/tcc/ ):
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
     9
$ make -f Makefile.tcc
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    10
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    11
Per a testejar el programa, hi ha un petit script de test que requereix bash.
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    12
Per a execultar-lo:
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    13
$ ./test.sh
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    14
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    15
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    16
Els fitxers:
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    17
--------------------------------------
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    18
   syslog_in_udp <port>      Espera missatges pel port UDP especificat
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    19
                             (IPv4 i IPv6)
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    20
   syslog_in_npipe <npipe>   Espera missatges per la named pipe (ha d'existir!)
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    21
   syslog_in_unix <usocket>  Crea i escolta el socket unix per missatges
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    22
   syslog_kernel             Executa els anteriors programes, i llegeix de tots
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    23
                             alhora.
18
84fa30ea0b0d Ara sí - versió 1
viric@llimona
parents: 17
diff changeset
    24
   unix_writer <usocket>     Programa per escriure a un Unix socket
17
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    25
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    26
Notes:
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    27
--------------------------------------
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    28
El programa està escrit en c99.
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    29
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    30
El programa no gestiona bé lectures de múltiples missatges per crida read().
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    31
Això és perquè encara en prou feines hem implementat alguna cosa de la
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    32
rfc 3164.
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    33
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    34
Els syslog_in_* entenen el missatge "close", cosa que fa que morin. Si moren
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    35
tots els fills de syslog_kernel, el kernel també mor.
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    36
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    37
El fitxer syslog_in_udp té una variable global que indica si es farà servir
589406eaaf43 Versió a entregar, quasi segur.
viric@llimona
parents:
diff changeset
    38
IPv6 o no en temps d'execució.
18
84fa30ea0b0d Ara sí - versió 1
viric@llimona
parents: 17
diff changeset
    39
84fa30ea0b0d Ara sí - versió 1
viric@llimona
parents: 17
diff changeset
    40
El codi de llegir la "named pipe" intenta fer el possible amb locks i
84fa30ea0b0d Ara sí - versió 1
viric@llimona
parents: 17
diff changeset
    41
reobertures de la pipe de manera que no es perdi mai la lectura de la
84fa30ea0b0d Ara sí - versió 1
viric@llimona
parents: 17
diff changeset
    42
named pipe donada.