Merged barry-b1-socket-arch-branch into MAIN.
[barry.git] / src / log.cc
blobe097a2df3459fd25e61650c74a465bc6b784e959
1 ///
2 /// \file log.cc
3 /// General Barry interface routines
4 ///
6 /*
7 Copyright (C) 2008, Net Direct Inc. (http://www.netdirect.ca/)
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU General Public License in the COPYING file at the
19 root directory of this project for more details.
22 #include "log.h"
23 #include <pthread.h>
25 namespace Barry {
27 extern bool __data_dump_mode__;
28 extern std::ostream *LogStream;
29 extern pthread_mutex_t LogStreamMutex;
31 LogLock::LogLock()
33 while( pthread_mutex_lock(&LogStreamMutex) != 0 )
37 LogLock::~LogLock()
39 pthread_mutex_unlock(&LogStreamMutex);
43 bool LogVerbose()
45 return __data_dump_mode__;
48 std::ostream* GetLogStream()
50 return LogStream;
53 } // namespace Barry