libnx/nx/include/switch/kernel/barrier.h
Juan Antonio Hernández Cánovas e3a4e26875 fixed typos
2018-08-24 12:49:54 +02:00

25 lines
563 B
C

/**
* @file barrier.h
* @brief Barrier synchronization primitive.
* @author Yordrar
* @copyright libnx Authors
*/
#pragma once
#include "condvar.h"
#include "mutex.h"
#include "thread.h"
#include "../runtime/util/list.h"
typedef struct barrier {
List threads_registered;
List threads_waiting;
Mutex mutex;
bool isInited;
} Barrier;
void barrierInit(Barrier* b);
void barrierFree(Barrier* b);
void barrierRegister(Barrier* b, Thread* thread);
void barrierUnregister(Barrier* b, Thread* thread);
void barrierWait(Barrier* b, Thread* thread);