CARMA C++
ScopedPthreadCancelDisable.h
1 #ifndef CARMA_UTIL_SCOPED_PTHREAD_CANCEL_DISABLE_H
2 #define CARMA_UTIL_SCOPED_PTHREAD_CANCEL_DISABLE_H
3 
4 namespace carma {
5 namespace util {
6 
7 
8 // A simple wrapper class that makes using
9 // pthread_setcancelstate easier in a C++ world
10 
11 class ScopedPthreadCancelDisable {
12  public:
13  explicit ScopedPthreadCancelDisable( );
14 
15  /* virtual */ ~ScopedPthreadCancelDisable( );
16 
17  private:
18  // no copying
19  ScopedPthreadCancelDisable( const ScopedPthreadCancelDisable & );
20  ScopedPthreadCancelDisable & operator=( const ScopedPthreadCancelDisable & );
21 
22  int oldState_;
23 };
24 
25 
26 } // namespace carma::util
27 } // namespace carma
28 
29 
30 #endif