00001 #ifndef __THREADS__ 00002 #define __THREADS__ 00003 00004 #include "globals.h" 00005 #include <pthread.h> 00006 00008 class ThreadInfo 00009 { 00010 public: 00012 pthread_t thread; 00014 int ret; 00016 void * (*start_routine)(void *); 00017 }; 00018 00019 // ********************* STARTING THREADS ******************** 00020 00021 void * echoRoutine(void *); 00022 ThreadInfo startEchoThread(); 00023 00024 void startThreads() 00025 { 00026 ThreadInfo echo = startEchoThread(); 00027 00028 pthread_join(echo.thread,NULL); 00029 } 00030 00031 // ********************* ECHO ******************** 00032 00033 ThreadInfo startEchoThread() 00034 { 00035 ThreadInfo info; 00036 info.start_routine = &echoRoutine; 00037 info.ret = pthread_create( &info.thread, NULL, info.start_routine, NULL); 00038 return info; 00039 } 00040 00041 void * echoRoutine(void *) 00042 { 00043 while(1) 00044 { 00045 sleep(2); 00046 p_out << (char *) "[e] :) echo thread" << p_endl; 00047 } 00048 00049 return NULL; 00050 } 00051 00052 #endif //__THREADS__
1.6.3