Linux - problemas con signal.h

 
Vista:

problemas con signal.h

Publicado por UnderWar (1 intervención) el 13/04/2004 20:58:37
problema con signal de la lib signal.h

tengo definida la classe.
class BancReg{
private:
...
public:
BancReg(...);
~BancReg();
void evento();
}

y en el consttructor:

BancReg::BancReg(){
signal(6,this->evento);
}

el problema es ke no se como pasarle la funcion handler a la funcion signal, si se pude hacer eso en una classe o con funciones de esta.
Alguien sabe algo de eso????
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas con signal.h

Publicado por chuidiang (101 intervenciones) el 19/04/2004 15:44:01
Te cuento.

Cuando una función pertenece a una clase, tiene un tipo que incluye la clase, con lo que no creo que se la puedas pasar a signal, y menos el metodo de una instancia concreta. (signal (6, this->evento))

Lo que creo que si se puede hacer es pasar un metodo que sea estatico en la clase. Algo como esto

class A
{
...
public static void evento (int valor)
}

signal (6, A::funcion);

Si no funciona asi, pon directamente una funcion normal de C que no sea de la clase.

A signal solo puedes pasarle funciones que devuelvan void y admitan un parametro int, asi que tanto si intentas hacerlo desde una clase como si haces la funcion global, tu funcion debe ser

void evento (int);

En el int recibiras el numero de la señal. Esto te permite manejar señales distintas con la misma función.

En www.geocities.com/chuidiang tienes un pequeño apartado que habla de señales y alarmas. Echale un ojo a ver si te sirve de ayuda.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar