Go to file
dgotwisner 6129dbfbc2 Changed logging system to "cache" gettid() values, to avoid system calls at
runtime (ie, when logging).
The implementation is cludgy. This is because we create threads before main,
as a result of global thread objects (as opposed to pointers to thread objects
that get new'ed and started in main).
A view of the system through strace indicates one or two calls to gettid() per
thread (usually 1, occasionally 2). Changing the read lock in Log() to a write
lock deadlocks.
2014-03-31 12:04:56 +02:00
.gitignore - merging in Dave's selfDetect branch so we can limit our components to only a single instance 2014-03-31 10:59:57 +02:00
BitVector.cpp Eliminate more "using namespace" statements. 2014-03-31 10:31:29 +02:00
BitVector.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
BitVectorTest.cpp Remove "using namespace std" from these source files, and fix the usage of 2014-03-30 19:26:54 +02:00
COPYING Putting versions of RRLP, CommonLibs and sqlite3 into the public release branch. 2011-10-07 19:20:49 +00:00
Configuration.cpp Fix more code with respect to bypassing "using namespace". Currently, 2014-03-31 10:50:02 +02:00
Configuration.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
ConfigurationTest.cpp Remove "using namespace std" from these source files, and fix the usage of 2014-03-30 19:26:54 +02:00
Defines.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
Exit.h - merging in Dave's selfDetect branch so we can limit our components to only a single instance 2014-03-31 10:59:57 +02:00
F16.h Putting versions of RRLP, CommonLibs and sqlite3 into the public release branch. 2011-10-07 19:20:49 +00:00
F16Test.cpp Eliminate more "using namespace" statements. 2014-03-31 10:31:29 +02:00
Interthread.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
InterthreadTest.cpp Remove "using namespace std" from these source files, and fix the usage of 2014-03-30 19:26:54 +02:00
LinkedLists.cpp Complete Configuration sync. While testing, I discovered what I think is a race condition: getStr("SIP.SMSC") returned another config key ("GSM.MS.TA.Damping") which I assume is a race condition in the config cache. However, I've been unable to replicate the issue and I think it may resolve itself quickly (as these things are successfully cached) 2013-05-31 21:47:42 +00:00
LinkedLists.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
LogTest.cpp Complete Configuration sync. While testing, I discovered what I think is a race condition: getStr("SIP.SMSC") returned another config key ("GSM.MS.TA.Damping") which I assume is a race condition in the config cache. However, I've been unable to replicate the issue and I think it may resolve itself quickly (as these things are successfully cached) 2013-05-31 21:47:42 +00:00
Logger.cpp Changed logging system to "cache" gettid() values, to avoid system calls at 2014-03-31 12:04:56 +02:00
Logger.h Changed logging system to "cache" gettid() values, to avoid system calls at 2014-03-31 12:04:56 +02:00
Makefile.am Add support to CommonLib? to support google core dumper. 2014-03-31 11:15:28 +02:00
MemoryLeak.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
README.common Putting versions of RRLP, CommonLibs and sqlite3 into the public release branch. 2011-10-07 19:20:49 +00:00
Regexp.h Putting versions of RRLP, CommonLibs and sqlite3 into the public release branch. 2011-10-07 19:20:49 +00:00
RegexpTest.cpp Remove "using namespace std" from these source files, and fix the usage of 2014-03-30 19:26:54 +02:00
Reporting.cpp syncing CommonLibs, and including BSD-licensed A5/1 implementation. 2013-08-13 23:17:46 +00:00
Reporting.h syncing CommonLibs, and including BSD-licensed A5/1 implementation. 2013-08-13 23:17:46 +00:00
ReportingTest.cpp syncing CommonLibs, and including BSD-licensed A5/1 implementation. 2013-08-13 23:17:46 +00:00
ScalarTypes.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
SelfDetect.cpp Changed logger to use getpid() and gettid() instead of pthread_self(), as 2014-03-31 12:02:24 +02:00
SelfDetect.h - merging in Dave's selfDetect branch so we can limit our components to only a single instance 2014-03-31 10:59:57 +02:00
SelfDetectTest.cpp - merging in Dave's selfDetect branch so we can limit our components to only a single instance 2014-03-31 10:59:57 +02:00
Sockets.cpp merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
Sockets.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
SocketsTest.cpp merged in commercial commonlibs 2014-03-24 22:57:31 +01:00
Threads.cpp Changed logging system to "cache" gettid() values, to avoid system calls at 2014-03-31 12:04:56 +02:00
Threads.h Changed logging system to "cache" gettid() values, to avoid system calls at 2014-03-31 12:04:56 +02:00
Timeval.cpp Remove more "using namespace" from source files. 2014-03-31 10:32:27 +02:00
Timeval.h Complete Configuration sync. While testing, I discovered what I think is a race condition: getStr("SIP.SMSC") returned another config key ("GSM.MS.TA.Damping") which I assume is a race condition in the config cache. However, I've been unable to replicate the issue and I think it may resolve itself quickly (as these things are successfully cached) 2013-05-31 21:47:42 +00:00
TimevalTest.cpp Remove "using namespace std" from these source files, and fix the usage of 2014-03-30 19:26:54 +02:00
URLEncode.cpp Remove more "using namespace" from source files. 2014-03-31 10:32:27 +02:00
URLEncode.h Putting versions of RRLP, CommonLibs and sqlite3 into the public release branch. 2011-10-07 19:20:49 +00:00
URLEncodeTest.cpp Remove "using namespace std" from these source files, and fix the usage of 2014-03-30 19:26:54 +02:00
UnixSignal.cpp - remove need for 3rdParty include reference, libcoredump now can be built-from-scratch and installed as lib and -dev headers 2014-03-31 11:30:56 +02:00
UnixSignal.h Add code to save various /proc files to a file when we crash (with core 2014-03-31 11:16:25 +02:00
UnixSignalTest.cpp - merging in Dave's selfDetect branch so we can limit our components to only a single instance 2014-03-31 10:59:57 +02:00
Utils.cpp Fix more code with respect to bypassing "using namespace". Currently, 2014-03-31 10:50:02 +02:00
Utils.h Fix more code with respect to bypassing "using namespace". Currently, 2014-03-31 10:50:02 +02:00
Variables.cpp - merging in Dave's selfDetect branch so we can limit our components to only a single instance 2014-03-31 10:59:57 +02:00
Vector.h Change Vector constructor code from call to vConcat() to call to this->vConcat(). This allows us to compile under gcc 4.8.1 (Ubuntu 13.10's compiler). This is more consistent with the C++ language definition of calling a base construtor from inside a derived constructor. 2014-03-30 19:25:31 +02:00
VectorTest.cpp Remove "using namespace std" from these source files, and fix the usage of 2014-03-30 19:26:54 +02:00
example.config syncing CommonLibs, and including BSD-licensed A5/1 implementation. 2013-08-13 23:17:46 +00:00
sqlite3util.cpp Fix more code with respect to bypassing "using namespace". Currently, 2014-03-31 10:50:02 +02:00
sqlite3util.h merged in commercial commonlibs 2014-03-24 22:57:31 +01:00

README.common

This directory contains common-use classes, most of which are not specific to GSM.

Vector		A vector class (NOT std::vector<>) that supports
		aliased subvectors.  Not resizable.
BitVector	Bit-indexable vectors based on Vector.
Interthread	A set of C++ wrappers for pthread facilities.
Sockets		A set of C++ wrappers for Unix sockets.
Timeval		A C++ wraper for struct timeval.
LinkLists	Classes for simple linked lists of pointers.
Logger		A logging interface based on syslogd.
Configuration	A key-value configuration table.
Regexp		A C++ wrapper on stdlib regular expressions.

Do "make tests" to build a series of unit tests for these classes.