/** * Run Worker * * @param nr id of worker which will be launched * @return 0 when success, otherwise error number */ int WorkerRun( Worker *wrk ) { if( wrk == NULL ) { FERROR("[WorkerRun] Cannot run worker, worker is NULL\n"); return 1; } clock_t start, end; start = clock(); size_t stacksize = 16777216; //16 * 1024 * 1024; pthread_attr_t attr; pthread_attr_init( &attr ); pthread_attr_setstacksize( &attr, stacksize ); wrk->w_Thread = ThreadNew( WorkerThread, wrk, TRUE, &attr ); if( wrk->w_Thread == NULL ) { FERROR("[WorkerRun] Cannot create thread!\n"); WorkerDelete( wrk ); return -1; } end = clock(); wrk->w_WorkMicros = end - start; wrk->w_WorkSeconds = wrk->w_WorkMicros / 1000000; return 0; }
int WorkerRun( Worker *wrk ) { if( wrk == NULL ) { ERROR("[WorkerRun] Cannot run worker, worker is NULL\n"); return 1; } clock_t start, end; start = clock(); //DEBUG("[WorkerRun] STARTING thread %p\n", wrk); wrk->w_Thread = ThreadNew( WorkerThread, wrk ); if( wrk->w_Thread == NULL ) { ERROR("[WorkerRun] Cannot create thread!\n"); WorkerDelete( wrk ); return -1; } end = clock(); wrk->w_WorkMicros = end - start; wrk->w_WorkSeconds = wrk->w_WorkMicros / 1000000; return 0; }