entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Hola,
Estoy realizando un proyecto en c en el cual necesito pasar un puntero a una función a un thread

pthread_t thid;
pthread_attr_t atrib_th;
pthread_attr_init(&atrib_th);
pthread_attr_setdetachstate(&atrib_th, PTHREAD_CREATE_DETACHED);
pthread_create(&thid, &atrib_th, callBack, (void *) NULL);

El puntero a funcion que necesito enviarle es del tipo:

void (*enviar_cliente)(const char *, const char *)

He mirado por internet, pero no he encontrado nada. No se si sera posible realizarlo.
Muchas gracias,
Un saludo.

1 Respuesta

1voto

white Puntos75880

segun el prototipo de pthread_create

pthread_create(pthread_t *th, const pthread_attr_t *attr, void *(* func)(void *), void *arg);

En la funcion callBack, podrias intentar así:

void *callBack(void * (*func)(const char * arg1, const char * arg2))

pthread_create(&thid, &atrib_th, callBack, &enviar_cliente);

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta