1 // ---------------------------------------------------------------------------- 2 // Copyright (C) 2014 3 // David Freese, W1HKJ 4 // 5 // This file is part of flmsg 6 // 7 // flrig is free software; you can redistribute it and/or modify 8 // it under the terms of the GNU General Public License as published by 9 // the Free Software Foundation; either version 3 of the License, or 10 // (at your option) any later version. 11 // 12 // flrig is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 // 17 // You should have received a copy of the GNU General Public License 18 // along with this program. If not, see <http://www.gnu.org/licenses/>. 19 // ---------------------------------------------------------------------------- 20 21 #ifndef THREADS_H_ 22 #define THREADS_H_ 23 24 #include <config.h> 25 26 #include <pthread.h> 27 #include <stdint.h> 28 29 //#include "fl_lock.h" 30 31 /// This ensures that a mutex is always unlocked when leaving a function or block. 32 class guard_lock 33 { 34 public: 35 guard_lock(pthread_mutex_t* m); 36 ~guard_lock(void); 37 private: 38 pthread_mutex_t* mutex; 39 }; 40 41 #endif // !THREADS_H_ 42