diff -Naru xmms-infopipe-1.3.orig/src/infopipe.c xmms-infopipe-1.3/src/infopipe.c --- xmms-infopipe-1.3.orig/src/infopipe.c 2002-05-19 08:08:40.000000000 -0300 +++ xmms-infopipe-1.3/src/infopipe.c 2009-04-24 21:03:20.000000000 -0300 @@ -173,7 +175,7 @@ /* Create the thread that handles pipe stuff. */ if(pthread_create(&pipehandler,NULL, - (void *) &request_handler_thread, + &request_handler_thread, NULL) != 0) { perror("Unable the create new thread (ie, no InfoPipe for you!)"); xmms_quit(); @@ -223,7 +225,7 @@ the Right Way and apparently more cooler anyway if you get millions of hits... */ -void request_handler_thread(void) { +void *request_handler_thread(void *arg) { fd_set fds; FILE *p; /* the pipe */ @@ -266,6 +268,7 @@ Is there some nicer way of saying this, like "wait until no reader?" select()? */ } + pthread_exit(NULL); } void xmms_quit(void) diff -Naru xmms-infopipe-1.3.orig/src/infopipe.h xmms-infopipe-1.3/src/infopipe.h --- xmms-infopipe-1.3.orig/src/infopipe.h 2002-05-19 07:38:03.000000000 -0300 +++ xmms-infopipe-1.3/src/infopipe.h 2009-04-24 21:03:20.000000000 -0300 @@ -21,7 +21,7 @@ void init_plugin(void); void finalize_plugin(void); void xmms_quit(void); -void request_handler_thread(void); +void *request_handler_thread(void *arg); /* infopipe_senddata.c */ void blast_info(FILE *pipe); diff -Naru xmms-infopipe-1.3.orig/src/infopipe_senddata.c xmms-infopipe-1.3/src/infopipe_senddata.c --- xmms-infopipe-1.3.orig/src/infopipe_senddata.c 2002-05-19 07:36:40.000000000 -0300 +++ xmms-infopipe-1.3/src/infopipe_senddata.c 2009-04-24 21:03:20.000000000 -0300 @@ -5,6 +5,7 @@ #include #include #include +#include #include "infopipe.h" #include "../config.h"