⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mutex.cpp

📁 MONA是为数不多的C++语言编写的一个很小的操作系统
💻 CPP
字号:
/*----------------------------------------------------------------------
    Mutex
----------------------------------------------------------------------*/

#include <monapi.h>

namespace MonAPI {

Mutex::Mutex() : destroyed_(false)
{
    mutexId_ = syscall_mutex_create();
}

Mutex::Mutex(dword mutexId) : destroyed_(false)
{
    mutexId_ = mutexId;
}

Mutex::~Mutex() {

    if (!destroyed_)
    {
        destroy();
    }
}

int Mutex::lock()
{
    return syscall_mutex_lock(mutexId_);
}

int Mutex::unlock()
{
    return syscall_mutex_unlock(mutexId_);
}

int Mutex::tryLock()
{
    return syscall_mutex_trylock(mutexId_);
}

int Mutex::destroy()
{
    if (destroyed_) return 0;
    destroyed_ = true;
    return syscall_mutex_destroy(mutexId_);
}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -