#include "global.h" u32 __osPiAccessQueueEnabled = false; static OSMesg piAccessBuf[1]; OSMesgQueue __osPiAccessQueue; void __osPiCreateAccessQueue(void) { __osPiAccessQueueEnabled = true; osCreateMesgQueue(&__osPiAccessQueue, piAccessBuf, ARRAY_COUNT(piAccessBuf)); osSendMesg(&__osPiAccessQueue, NULL, OS_MESG_NOBLOCK); } void __osPiGetAccess(void) { OSMesg msg; if (!__osPiAccessQueueEnabled) { __osPiCreateAccessQueue(); } osRecvMesg(&__osPiAccessQueue, &msg, OS_MESG_BLOCK); } void __osPiRelAccess(void) { osSendMesg(&__osPiAccessQueue, NULL, OS_MESG_NOBLOCK); }