📄 psemaphore.cxx
字号:
/* * * C++ Portable Types Library (PTypes) * Version 1.7.5 Released 9-Mar-2003 * * Copyright (c) 2001, 2002, 2003 Hovik Melikyan * * http://www.melikyan.com/ptypes/ * http://ptypes.sourceforge.net/ * */#ifdef WIN32# include <windows.h>#else# include <pthread.h>#endif#include "pasync.h"PTYPES_BEGIN#ifndef __SEM_TO_TIMEDSEM__static void sem_fail(){ fatal(CRIT_FIRST + 41, "Semaphore failed");}semaphore::semaphore(int initvalue) { if (sem_init(&handle, 0, initvalue) != 0) sem_fail();}semaphore::~semaphore() { sem_destroy(&handle);}void semaphore::wait() { if (sem_wait(&handle) != 0) sem_fail();}void semaphore::post() { if (sem_post(&handle) != 0) sem_fail();}#elseint _psemaphore_dummy_symbol; // avoid ranlib's warning message#endifPTYPES_END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -