diff options
Diffstat (limited to 'tools/debugserver/source/PThreadCondition.h')
-rw-r--r-- | tools/debugserver/source/PThreadCondition.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/debugserver/source/PThreadCondition.h b/tools/debugserver/source/PThreadCondition.h new file mode 100644 index 000000000000..787cc7941d52 --- /dev/null +++ b/tools/debugserver/source/PThreadCondition.h @@ -0,0 +1,53 @@ +//===-- PThreadCondition.h --------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// Created by Greg Clayton on 6/16/07. +// +//===----------------------------------------------------------------------===// + +#ifndef __PThreadCondition_h__ +#define __PThreadCondition_h__ + +#include <pthread.h> + +class PThreadCondition +{ +public: + + PThreadCondition() + { + ::pthread_cond_init (&m_condition, NULL); + } + + ~PThreadCondition() + { + ::pthread_cond_destroy (&m_condition); + } + + pthread_cond_t *Condition() + { + return &m_condition; + } + + int Broadcast() + { + return ::pthread_cond_broadcast (&m_condition); + } + + int Signal() + { + return ::pthread_cond_signal (&m_condition); + } + +protected: + pthread_cond_t m_condition; +}; + +#endif + |