00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- 00002 //---------------------------------------------------------------------- 00015 //---------------------------------------------------------------------- 00016 #ifndef ICL_CORE_THREAD_MUTEX_IMPL_LXRT35_H_INCLUDED 00017 #define ICL_CORE_THREAD_MUTEX_IMPL_LXRT35_H_INCLUDED 00018 00019 #include <rtai_posix.h> 00020 00021 #include "icl_core_thread/MutexImpl.h" 00022 00023 namespace icl_core { 00024 namespace thread { 00025 00026 class MutexImplLxrt35 : public MutexImpl 00027 { 00028 public: 00029 MutexImplLxrt35(); 00030 virtual ~MutexImplLxrt35(); 00031 00032 virtual bool lock(); 00033 virtual bool lock(const icl_core::TimeSpan& timeout); 00034 virtual bool lock(const icl_core::TimeStamp& timeout); 00035 virtual bool tryLock(); 00036 virtual void unlock(); 00037 00038 private: 00039 pthread_mutex_t *m_mutex; 00040 }; 00041 00042 } 00043 } 00044 00045 #endif