X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fsrc%2Fshared%2FMutex.h;fp=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fsrc%2Fshared%2FMutex.h;h=0000000000000000000000000000000000000000;hp=98215365ad239a551d584b0ec75a8dcbea59d11f;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/node-pty/deps/winpty/src/shared/Mutex.h b/node_modules/node-pty/deps/winpty/src/shared/Mutex.h deleted file mode 100644 index 9821536..0000000 --- a/node_modules/node-pty/deps/winpty/src/shared/Mutex.h +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (c) 2015 Ryan Prichard -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. - -// Recent 4.x MinGW and MinGW-w64 gcc compilers lack std::mutex and -// std::lock_guard. I have a 5.2.0 MinGW-w64 compiler packaged through MSYS2 -// that *is* new enough, but that's one compiler against several deficient -// ones. Wrap CRITICAL_SECTION instead. - -#ifndef WINPTY_SHARED_MUTEX_H -#define WINPTY_SHARED_MUTEX_H - -#include - -class Mutex { - CRITICAL_SECTION m_mutex; -public: - Mutex() { InitializeCriticalSection(&m_mutex); } - ~Mutex() { DeleteCriticalSection(&m_mutex); } - void lock() { EnterCriticalSection(&m_mutex); } - void unlock() { LeaveCriticalSection(&m_mutex); } - - Mutex(const Mutex &other) = delete; - Mutex &operator=(const Mutex &other) = delete; -}; - -template -class LockGuard { - T &m_lock; -public: - LockGuard(T &lock) : m_lock(lock) { m_lock.lock(); } - ~LockGuard() { m_lock.unlock(); } - - LockGuard(const LockGuard &other) = delete; - LockGuard &operator=(const LockGuard &other) = delete; -}; - -#endif // WINPTY_SHARED_MUTEX_H