summaryrefslogtreecommitdiff
path: root/indra/llmessage
AgeCommit message (Collapse)Author
2020-03-25DRTVWR-494: Use std::thread::id for LLThread::currentID().Nat Goodspeed
LLThread::currentID() used to return a U32, a distinct unsigned value incremented by explicitly constructing LLThread or by calling LLThread:: registerThreadID() early in a thread launched by other means. The latter imposed an unobvious requirement on new code based on std::thread. Using std::thread::id instead delegates to the compiler/library the problem of distinguishing threads launched by any means. Change lots of explicit U32 declarations. Introduce LLThread::id_t typedef to avoid having to run around fixing uses again if we later revisit this decision. LLMutex, which stores an LLThread::id_t, wants a distinguished value meaning NO_THREAD, and had an enum with that name. But as std::thread::id promises that the default-constructed value is distinct from every valid value, NO_THREAD becomes unnecessary and goes away. Because LLMutex now stores LLThread::id_t instead of U32, make llmutex.h #include "llthread.h" instead of the other way around. This makes LLMutex an incomplete type within llthread.h, so move LLThread::lockData() and unlockData() to the .cpp file. Similarly, remove llrefcount.h's #include "llmutex.h" to break circularity; instead forward-declare LLMutex. It turns out that a number of source files assumed that #include "llthread.h" would get the definition for LLMutex. Sprinkle #include "llmutex.h" as needed. In the SAFE_SSL code in llcorehttp/httpcommon.cpp, there's an ssl_thread_id() callback that returns an unsigned long to the SSL library. When LLThread:: currentID() was U32, we could simply return that. But std::thread::id is very deliberately opaque, and can't be reinterpret_cast to unsigned long. Fortunately it can be hashed because std::hash is specialized with that type.
2019-11-12Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2019-09-10Merged in lindenlab/viewer-releaseandreykproductengine
2019-09-04DRTVWR-493 Do not recreate proxy only to destroy itandreykproductengine
2019-08-12Automated merge with file:///Users/nat/linden/viewer-catchNat Goodspeed
2019-08-12DRTVWR-493: Make catch_llerrs() a member of WrapLLErrs.Nat Goodspeed
2019-08-10DRTVWR-493: Introduce test catch_what(), catch_llerrs() functions.Nat Goodspeed
Use them in place of awkward try/catch test boilerplate.
2019-07-24SL-4150 Rename htonmemcpyandreykproductengine
2019-07-03DRTVWR-493 LLAvatarNameCache to singletoneandreykproductengine
2019-04-17Merged in lindenlab/viewer-release (EAM)AndreyL ProductEngine
2019-03-01Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2019-01-15SL-10291 Replace apr_atomic with standard C++11 functionalityandreykproductengine
2019-01-17SL-10291 cleanup-mutexandreykproductengine
2019-01-14SL-10291 Replace apr_mutex with standard C++11 functionalityandreykproductengine
2019-03-01Merged in lindenlab/viewer-release and incremented viewer version to 6.2.0AndreyL ProductEngine
2018-12-14SL-10153: Review and rationalize fetching paths from environment.Nat Goodspeed
Use LLStringUtil::getenv() or getoptenv() whenever we fetch a string that will be used as a pathname. Use LLFile::tmpdir() instead of getenv("TEMP"). As an added extra-special bonus, finally clean up $TMP/llcontrol-test-zzzzzz directories that have been accumulating every time we run a local build!
2018-11-14Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-09-27mergeBrad Payne (Vir Linden)
2018-09-27Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-08-30Restore the ability for sockets to specify the interface to listen onOz Linden
2018-08-28Backed out changeset: 871c2923afceAndreyL ProductEngine
2018-08-17MAINT-5651 Froce-quit crashandreykproductengine
2019-04-17SL-2797 SOCKS5 not working reliablyandreykproductengine
2018-08-08Add optional hostname param to LLSocket::create() for testing.Nat Goodspeed
This allows the io.cpp test to listen only on the localhost loopback, avoiding the macOS 10.13.6 "allow listening for incoming connections" popup while running build-time tests that might halt an unattended TeamCity build.
2018-06-22Merged lindenlab/viewer-release into defaultAndrey Lihatskiy
2018-06-21mergeBrad Payne (Vir Linden)
2018-05-18MAINT-7626 EOF fixAndreyL ProductEngine
2018-05-08MAINT-7626 Update logging and comments, sync remaining transfer changesandreykproductengine
2018-05-08MAINT-7626 fix merge conflict2andreykproductengine
2018-05-07MAINT-7626 fix merge conflictandreykproductengine
2018-05-04MAINT-7626 Incorporate transfer changes into viewerandreykproductengine
2018-04-19MAINT-7626 Incorporate transfer changes into viewerandreykproductengine
2018-04-14MAINT-8442 Increase the total number of Estate Managers from 10 to 15AndreyL ProductEngine
2018-05-18mergeBrad Payne (Vir Linden)
2018-04-10MAINT-8489 Remove/Cleanup LLIMInfoAndrey Kleshchev
2018-03-02mergeBrad Payne (Vir Linden)
2018-02-13mergeBrad Payne (Vir Linden)
2018-03-07MAINT-8364 Fix for requestAvatarNameCache_ crashandreykproductengine
2018-02-12Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-01-22MAINT-8210 Fixed crash in avatar name cacheandreykproductengine
2018-01-17merge 5.1.0-releaseOz Linden
2018-01-17mergeBrad Payne (Vir Linden)
2017-09-27MAINT-7081: Mention nghttp2 library wherever it must be mentioned.Nat Goodspeed
2017-08-28mergeBrad Payne (Vir Linden)
2017-08-23merge changes for 5.0.7-releaseOz Linden
2017-08-16merge changes for DRTVWR-439Oz Linden
2017-08-08MAINT-7634: Logging and instrumentation canges to narrow down viewer crashes.Rider Linden
2017-06-20mergeBrad Payne (Vir Linden)
2017-06-20merge changes for 5.0.6-releaseOz Linden
2017-06-20Merged in lindenlab/viewer-releaseAndreyL ProductEngine