Ejemplo n.º 1
0
/**
 * 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;
}
Ejemplo n.º 2
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;
}