Commit f9f996b3 authored by KO Myung-Hun's avatar KO Myung-Hun Committed by James Zern

vpx_once: implement once() for OS/2

Change-Id: I9f736f299490464bbdbb6cd24ee6f5b46ad45ec6
parent 838b53b9
......@@ -73,6 +73,33 @@ static void once(void (*func)(void))
}
#elif CONFIG_MULTITHREAD && defined(__OS2__)
#define INCL_DOS
#include <os2.h>
static void once(void (*func)(void))
{
static int done;
/* If the initialization is complete, return early. */
if(done)
return;
/* Causes all other threads in the process to block themselves
* and give up their time slice.
*/
DosEnterCritSec();
if (!done)
{
func();
done = 1;
}
/* Restores normal thread dispatching for the current process. */
DosExitCritSec();
}
#elif CONFIG_MULTITHREAD && HAVE_PTHREAD_H
#include <pthread.h>
static void once(void (*func)(void))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment