/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2010-2014, Tomasz Sowa * All rights reserved. * */ #ifndef headerfile_winix_core_synchro #define headerfile_winix_core_synchro #include #include namespace Winix { struct Synchro { // one global mutex pthread_mutex_t mutex; // true when winix is closing volatile bool was_stop_signal; Synchro(); bool Lock(); void Unlock(); private: // deadlock counter for each thread // we can call Lock() more than one in the same thread std::map ref; }; } // namespace Winix #endif