🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #10826

Re: Envio de señales a un demonio

#10826
From: Luis Angel Fdez. Fdez.
Date: Fri, 01 Feb 2002 19:50
76 lines
3974 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

  Hola

	A las 18:24 del viernes 01 de febrero, 
	Quato <quato74@hotmail.com> 
	hablando de Envio de se�ales a un demonio 
	en es.comp.os.linux.programacion dijo...

> Estoy programando un demonio que se encarga de leer un archivo de
> configuracion cada 5 segundos. Mi intenci�n es enviarle una se�al
> con la funcion:

  Esto... �por qu� usas se�ales? �no te sirve una llamada a sleep()?

> 	kill(2) (paginas del manual)
> La se�al que le envi� es SIGCHLD. Segun las paginas del manual , la
> accion por defecto de esta se�al no es precisamente matar el proceso,
> sin� ignorar esta se�al.....
> Bien...lo que quiero es que el demonio acepte la se�al pero sin matar
> al propio demonio. Simplemente quiero variar su comportamiento y que
> lea un archivo de configuracion distinto.
> 
> Para hacer esto me serv� de funciones tales como:
> sigemptyset
> sigprocmask
> sigpending..
> etc..

  Hombre, yo voy a intentar contarte algo... pero no se si estar� meando
fuera del tiesto, porque esas funciones no las us� nunca, y creo que si
entend� bien lo que quieres hacer no har�an falta...

> Quiero que cuando reciba la se�al SIGCHLD, que la ignore y que lea
> otro archivo de configuracion.

  Veamos, para hacerlo seg�n yo lo har�a no ignorar�as la se�al...
simplemente cuando te llegase la se�al leer�as el fichero...

  Tendr�as una funci�n como la que sigue en el demonio: 

void manejador(int senial) {
  signal(SIGUSR1, SIG_IGN); /* Ignoramos la llegada de la se�al mientras */
                            /* estemos ejecutando el manejador */

  /* Aqu� ir�a lo necesario para leer el */
  /* fichero de configuraci�n */

  signal(SIGUSR1, manejador); /* Restauramos el manejador */
}

  Una vez que tienes esto, s�lo tendr�as que asignar este manejador dentro
del demonio, es decir una llamada a signal: signal(SIGUSR1, manejador);

  Utilizo SIGUSR1, en lugar de SIGCHLD porque creo que resulta mas
apropiado. La llegada de SIGCHLD indica que un proceso hijo a terminado o 
est� parado, con lo que no creo que deba usarse esa se�al para otra cosa, ya
que para otras cosas 'definidas por el usuario', como podr�a ser 'se�al que
llega cada cinco segundos' es para lo que est�n SIGUSR1 y SIGUSR2.

  Espero haberme explicado bien... :)

  Ta llueu

- -- 
  Clave GPG: http://muxin.yi.org:2080/
             http://muxin.dhis.org:2080/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE8WvDFsrzbHhG/hp8RAqrMAJ4yJCjgHF5nVDhXz2K58SGmn6nunACgpZiM
OHSUc6HsMaVYEOcQv8GCVCs=
=O/Nc
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <slrna5ls62.15g.koxo@muxin.asturias.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!newsfeed.bt.es!news.bt.es!filemon.telecable.es
References: <dvml5u8t01iejqqs98degl9h6fik9v6q0e@4ax.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,c02c6a28313e97c9
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-02-01 11:51:07 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!newsfeed.bt.es!news.bt.es!filemon.telecable.es
From: "Luis Angel Fdez. Fdez." <koxo@muxin.yi.org>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Envio de señales a un demonio
Date: 1 Feb 2002 20:50:37 +0100
Organization: Baila, baila pingüino, baila
Lines: 76
Message-ID: <slrna5ls62.15g.koxo@muxin.asturias.org>
References: <dvml5u8t01iejqqs98degl9h6fik9v6q0e@4ax.com>
Reply-To: koxo@wanadoo.es
NNTP-Posting-Host: filemon.telecable.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: titan.bt.es 1012592574 23851 212.89.0.4 (1 Feb 2002 19:42:54 GMT)
X-Complaints-To: abuse@bt.es
NNTP-Posting-Date: 1 Feb 2002 19:42:54 GMT
X-Operating-System: Linux 2.4.16 i686
User-Agent: slrn/0.9.7.3 (Linux)
X-Original-NNTP-Posting-Host: cm03644.telecable.es
X-Original-Trace: 1 Feb 2002 20:50:37 +0100, cm03644.telecable.es