[process] Make it safe to call process_add() multiple times

This commit is contained in:
Michael Brown
2009-08-10 01:09:41 +01:00
parent 46073f1239
commit 04878ef745
5 changed files with 14 additions and 3 deletions

View File

@@ -37,11 +37,18 @@ static LIST_HEAD ( run_queue );
* Add process to process list
*
* @v process Process
*
* It is safe to call process_add() multiple times; further calls will
* have no effect.
*/
void process_add ( struct process *process ) {
DBGC ( process, "PROCESS %p starting\n", process );
ref_get ( process->refcnt );
list_add_tail ( &process->list, &run_queue );
if ( list_empty ( &process->list ) ) {
DBGC ( process, "PROCESS %p starting\n", process );
ref_get ( process->refcnt );
list_add_tail ( &process->list, &run_queue );
} else {
DBGC ( process, "PROCESS %p already started\n", process );
}
}
/**