como hago para mandar el 2º argumento de la funcion signal con parametros?
el problema es el siguiente:
cuando llamo a signal
signal (señal, punteroFuncion)
la funcion a la que llama cuando ocurre la señal tiene que ser un void funcion() sin agumentos por ke cuando quiero ponerle argumentos
ejemplo:
signal(SIGTERM,muerteHijo(descriptor ,&lista));
cuando lo trato de compilar me pone lo siguiente:
uso inválido de la expresión void
yo NECESITO mandarle las variables por ke dependiendo de ke tipo sea el hijo tiene ke realizar distintas salidas, por ende necesito que si alguien sabe me conteste como hacer que esto funcione
gracias
Santoº
cuando llamo a signal
signal (señal, punteroFuncion)
la funcion a la que llama cuando ocurre la señal tiene que ser un void funcion() sin agumentos por ke cuando quiero ponerle argumentos
ejemplo:
signal(SIGTERM,muerteHijo(descriptor ,&lista));
cuando lo trato de compilar me pone lo siguiente:
uso inválido de la expresión void
yo NECESITO mandarle las variables por ke dependiendo de ke tipo sea el hijo tiene ke realizar distintas salidas, por ende necesito que si alguien sabe me conteste como hacer que esto funcione
gracias
Santoº
No puedes pasarle un parametro a esa funcion.
En C de linux, tu funcion debe ser del tipo
void muerteHijo (int numeroSenhal)
es decir, devuelve void y recibe como entero el numero de señal que ha provocado que se le llame.
Luego a sigal lo llamas con
signal (SIGTERM, muerteHijo);
Cuando se produzca la señal SIGTERM se llamará a la funcion muerteHijo y se le pasará como parámetro el entero SIGTERM.
Si necesitas ver otros datos, no te queda más remedio que hacerlos globales o ponerlos en algún sitio que sea visible y que la función vaya a buscarlos.
Se bueno.
En C de linux, tu funcion debe ser del tipo
void muerteHijo (int numeroSenhal)
es decir, devuelve void y recibe como entero el numero de señal que ha provocado que se le llame.
Luego a sigal lo llamas con
signal (SIGTERM, muerteHijo);
Cuando se produzca la señal SIGTERM se llamará a la funcion muerteHijo y se le pasará como parámetro el entero SIGTERM.
Si necesitas ver otros datos, no te queda más remedio que hacerlos globales o ponerlos en algún sitio que sea visible y que la función vaya a buscarlos.
Se bueno.
