685709080d
Cleaning up the thread variable with the shared string stream is
something of a nightmare, for a rather marginal gain.
==9296== Invalid write of size 1
...
==9296== by 0x738C092: str (sstream:195)
==9296== by 0x738C092: std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::str(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (sstream:649)
==9296== by 0x65383A: Log::beginLog[abi:cxx11](char const*) (Log.cpp:141)
==9296== by 0x551823: Admin::~Admin() (Admin.cpp:381)
==9296== by 0x7D9ECF7: __run_exit_handlers (exit.c:83)
==9296== by 0x7D9ED49: exit (exit.c:105)
==9296== by 0x7D86F50: (below main) (libc-start.c:342)
==9296== Address 0x8ba41c0 is 0 bytes inside a block of size 513 free'd
==9296== at 0x4C2FA1D: operator delete(void*) (vg_replace_malloc.c:576)
...
==9296== by 0x738784A: ~basic_stringbuf (sstream:65)
==9296== by 0x738784A: std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream() (sstream:591)
==9296== by 0x7D9F27E: __call_tls_dtors (cxa_thread_atexit_impl.c:155)
==9296== by 0x7D9EC0A: __run_exit_handlers (exit.c:41)
==9296== by 0x7D9ED49: exit (exit.c:105)
==9296== by 0x7D86F50: (below main) (libc-start.c:342)
Good to log during shutdown / exit.
This reverts commit c315d219d5967f23fb1769e78021f61b8f9da6ec.
This reverts commit
|
||
---|---|---|
.. | ||
Authorization.cpp | ||
Authorization.hpp | ||
Common.hpp | ||
Crypto.cpp | ||
Crypto.hpp | ||
FileUtil.cpp | ||
FileUtil.hpp | ||
IoUtil.cpp | ||
IoUtil.hpp | ||
JsonUtil.hpp | ||
Log.cpp | ||
Log.hpp | ||
LOOLWebSocket.hpp | ||
Message.hpp | ||
MessageQueue.cpp | ||
MessageQueue.hpp | ||
Png.hpp | ||
Protocol.cpp | ||
Protocol.hpp | ||
Rectangle.hpp | ||
Seccomp.cpp | ||
Seccomp.hpp | ||
security.h | ||
Session.cpp | ||
Session.hpp | ||
SigUtil.cpp | ||
SigUtil.hpp | ||
SpookyV2.cpp | ||
SpookyV2.h | ||
Unit.cpp | ||
Unit.hpp | ||
UnitHTTP.hpp | ||
Util.cpp | ||
Util.hpp |