C++ implementation of the Google logging module
Go to file
Mike Percy f581614a78 Use thread local for libunwind GetStackTrace()
Previously, the implementation of google::GetStackTrace() that uses
libunwind uses a global variable that enforces that only one thread may
invoke libunwind at a time. However, libunwind is thread-safe. The
comment above the variable indicates that it is to protect against
reentrancy issues.

Instead of using a global variable, it would be much better to use a
thread-local variable to protect against these reentrancy issues. That
should provide the needed reentrancy protection while allowing multiple
threads to get stack traces at the same time.

It also allows for the removal of the atomic CAS operations on the
variable.

Resolves #160.
2017-01-27 21:24:11 -08:00
cmake added CMake usage instructions 2016-01-08 15:31:10 +01:00
doc Document update: how to modify FLAGS_* in glog 2013-01-25 06:03:56 +00:00
m4 Run autoreconf on ubuntu precise 2013-01-09 13:26:44 +00:00
packages Fix for "make rpm" and "make deb" 2015-03-10 12:44:30 +09:00
src Use thread local for libunwind GetStackTrace() 2017-01-27 21:24:11 -08:00
vsprojects Add static library project and its unittest. 2009-01-23 18:56:19 +00:00
.gitignore Fix for "make rpm" and "make deb" 2015-03-10 12:44:30 +09:00
aclocal.m4 glog: release 0.3.4 2015-03-09 11:45:07 +09:00
AUTHORS Update github.com/sergiud in AUTHORS/CONTRIBUTORS 2016-10-20 15:53:26 +09:00
ChangeLog Release glog 0.3.3 2013-02-01 06:20:46 +00:00
CMakeLists.txt cmake: allow to disable building unit tests 2016-10-19 09:32:21 +02:00
compile glog 0.1 2008-10-07 05:43:05 +00:00
config.guess Added support for PowerPC. 2016-03-21 11:28:53 +00:00
config.sub Add InstallFailureSignalHandler(). The function installs a signal handler that 2008-10-30 10:33:45 +00:00
configure glog: release 0.3.4 2015-03-09 11:45:07 +09:00
configure.ac glog: release 0.3.4 2015-03-09 11:45:07 +09:00
CONTRIBUTING.md Add the typical Google contributors and authors files. 2015-03-16 10:50:32 +00:00
CONTRIBUTORS Update github.com/sergiud in AUTHORS/CONTRIBUTORS 2016-10-20 15:53:26 +09:00
COPYING A bug fix for Windows: Use GetSystemTimeAsFileTime instead of GetSystemTime. SYSTEMTIME's mSecond is not a unix time but like tm.tm_sec. 2009-04-09 07:49:44 +00:00
depcomp Add InstallFailureSignalHandler(). The function installs a signal handler that 2008-10-30 10:33:45 +00:00
glog-config.cmake.in cmake: allow to refer to imported glog target as glog::glog 2016-01-08 14:55:58 +01:00
google-glog.sln Add static library project and its unittest. 2009-01-23 18:56:19 +00:00
INSTALL Fix regression of r23. 2009-07-08 15:38:35 +00:00
install-sh Add InstallFailureSignalHandler(). The function installs a signal handler that 2008-10-30 10:33:45 +00:00
libglog.pc.in Generation of pkg-config metadata file. 2009-04-10 05:49:58 +00:00
ltmain.sh Run autoreconf on ubuntu precise 2013-01-09 13:26:44 +00:00
Makefile.am glog: release 0.3.4 2015-03-09 11:45:07 +09:00
Makefile.in glog: release 0.3.4 2015-03-09 11:45:07 +09:00
missing Add InstallFailureSignalHandler(). The function installs a signal handler that 2008-10-30 10:33:45 +00:00
mkinstalldirs Add InstallFailureSignalHandler(). The function installs a signal handler that 2008-10-30 10:33:45 +00:00
NEWS glog 0.1 2008-10-07 05:43:05 +00:00
README glog 0.1 2008-10-07 05:43:05 +00:00
README.windows glog: release 0.3.4 2015-03-09 11:45:07 +09:00
test-driver glog: release 0.3.4 2015-03-09 11:45:07 +09:00

This repository contains a C++ implementation of the Google logging
module.  Documentation for the implementation is in doc/.

See INSTALL for (generic) installation instructions for C++: basically
   ./configure && make && make install