Estoy haciendo un programa en C para linux y tengo problemas con los hilos...
Mi programa tiene un bucle que se cierra cuando el usuario presione "q". Pero claro si uso una funcion como getchar() dentro del bucle el bucle se parará y no quiero que pare el bucle. Asi que he pensado lanzar un hilo y que sea el hilo el que se quede parado para leer del teclado y que cuando el getchar() del hilo lea una 'q' modifique una varible que cierre el bucle.
Aqui os pongo el codigo que tengo....pero meda un par de errores de compilacion...
Código
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <pthread.h> void *salir( void *ptr ); int main() { pthread_t thread1; char *salida = ""; pthread_create( &thread1, NULL, salir, (void*) salida); pthread_join( thread1, NULL); } return 0; } void *salir( void *ptr ) { char out='0'; while(out!='q'){ ptr=(void *)"q"; }
Y los errores de compilacion son estos:
Citar
funcion.c: In function ‘salir’:
funcion.c:30:1: error: expected declaration or statement at end of input
funcion.c:30:1: warning: control reaches end of non-void function [-Wreturn-type]
funcion.c:30:1: error: expected declaration or statement at end of input
funcion.c:30:1: warning: control reaches end of non-void function [-Wreturn-type]
¿Alguien sabe como solucionarlos?
Un saludo.