diff --git a/ot_mutex.c b/ot_mutex.c index 5624c03..fb632d7 100644 --- a/ot_mutex.c +++ b/ot_mutex.c @@ -194,7 +194,7 @@ ot_taskid mutex_workqueue_poptask( ot_tasktype *tasktype ) { while( !taskid ) { /* Skip to the first unassigned task this worker wants to do */ task = tasklist; - while( task && ( ( ( TASK_MASK & task->tasktype ) != *tasktype ) || task->taskid ) ) + while( task && ( ( ( TASK_CLASS_MASK & task->tasktype ) != *tasktype ) || task->taskid ) ) task = task->next; /* If we found an outstanding task, assign a taskid to it diff --git a/ot_mutex.h b/ot_mutex.h index fd45397..e2106be 100644 --- a/ot_mutex.h +++ b/ot_mutex.h @@ -40,7 +40,13 @@ typedef enum { TASK_DMEM = 0x0500, TASK_DONE = 0x0f00, - TASK_MASK = 0xff00 + + TASK_FLAG_GZIP = 0x1000, + TASK_FLAG_BZIP2 = 0x2000, + + TASK_TASK_MASK = 0x0fff, + TASK_CLASS_MASK = 0x0f00, + TASK_FLAGS_MASK = 0xf000 } ot_tasktype; typedef unsigned long ot_taskid;