psemaphore.cxx
来自「PTypes (C++ Portable Types Library) is a」· CXX 代码 · 共 72 行
CXX
72 行
/* * * 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 + =
减小字号Ctrl + -
显示快捷键?