summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2015-07-15MergeRider Linden
2015-07-12MAINT-5351: glh-linear 'equivalent' macro has been destroyed.Nat Goodspeed
Hopefully we no longer need to brute-force remove any more macros with the same name.
2015-07-10MAINT-5351: Finish cleaning up messy merge from backing out backoutNat Goodspeed
2015-07-10Automated merge with file:///Users/nat/linden/maint-4952-v-t-uNat Goodspeed
2015-07-10Merge restore of more selfless changesNat Goodspeed
2015-07-10Backed out changeset bab1000e1b2d: restore 'selfless' changesNat Goodspeed
2015-07-10Merge restore of selfless changesNat Goodspeed
2015-07-10Backed out changeset 6e1fa9518747: reapply 'selfless' changesNat Goodspeed
2015-07-10MAINT-5351: Improve management of "current" coroutine information.Nat Goodspeed
Our first cut at tracking the "current" coroutine simply reset the pointer to NULL every time we context-switched away. But that strategy doesn't handle the case of coroutine A launching coroutine B. Introduce LLCoros::CoroData to track, among other things, the previous value of the current-coroutine pointer each time we switch into a coroutine. Restore THAT value when we switch back out.
2015-07-07MergeRider Linden
2015-07-07Backout selfles merge 738255dbbfd679d9e615baab3398e5e345bbb3c5Rider Linden
2015-07-07Apply reverse patchRider Linden
2015-07-07Backed out selfless mergeRider Linden
2015-07-07Automated merge with ssh://bitbucket.org/nat_linden/viewer-selflessNat Goodspeed
2015-07-06Force Boost use of TR1 for result_of in testsRider Linden
2015-07-06Force Boost result_of to use TR1 for tests.Rider Linden
2015-07-04MAINT-5357: Add llcoro::yield() function to yield for one frame.Nat Goodspeed
2015-07-03MAINT-5357: Extract LLErrorEvent to global namespace.Nat Goodspeed
This exception class got inadvertently swept up into the llcoro namespace. Its LLClassConvention name is intended for use in the global namespace. As there are no current references, this is a trivial change.
2015-07-02MAINT-5357: Introduce and populate llcoro:: namespace.Nat Goodspeed
To date, the coroutine helper functions in lleventcoro.h have been in the global namespace. Migrate them into llcoro namespace, and fix references. Specifically, LLVoidListener => llcoro::VoidListener, and voidlistener(), postAndWait(), both waitForEventOn(), postAndWait2(), errorException() and errorLog() have been moved into llcoro. Also migrate new LLCoros::get_self() and Suspending to llcoro:: namespace. While at it, I realized that -- having converted several lleventcoro.h functions from templates (for arbitrary 'self' parameter type) to ordinary functions, having moved them from lleventcoro.h to lleventcoro.cpp, we can now migrate their helpers from lleventcoro.h to lleventcoro.cpp as well. This eliminates the need for the LLEventDetail namespace; the relevant helpers are now in an anonymous namespace in the .cpp file: listenerNameForCoro(), storeToLLSDPath(), WaitForEventOnHelper and wfeoh().
2015-07-01MAINT-5351: Reorganize lleventcoro_test.cpp to be more readable.Nat Goodspeed
Each test<n>() method invokes a function from earlier in the source. It's much better if each of those functions immediately precedes the test that invokes it.
2015-07-01MAINT-5351: Remove 'self' parameter from coroutine functions.Nat Goodspeed
lleventcoro_test.cpp runs clean (as modified for new API), and all the rest builds clean, but the resulting viewer is as yet untested.
2015-07-01MAINT-5351: Remove Boost Preprocessor headers from llcoros.h.Nat Goodspeed
These were used in a former iteration (when we explicitly forwarded parameters), but are no longer needed.
2015-06-30MergeRider Linden
2015-06-30Initial checkin for uploading via coroutine.Rider Linden
2015-06-29MAINT-4952: Fix misplaced comments on intrusive_ptr_etc() overloads.Nat Goodspeed
2015-06-17Coding policy fixesRider Linden
2015-05-20Webprofile converted to coroutine.Rider Linden
Added JSON->LLSD converter Added corohandler for JSON data
2015-04-24merge with viewer tools updateBrad Payne (Vir Linden)
2015-04-22MAINT-4653 WIP, DRTVWR-397 WIP - log output to file now includes tags. ↵Brad Payne (Vir Linden)
Request max 5 attachments per idle loop to reduce sim-side failures seen when requesting large numbers.
2015-04-14Merged lindenlab/viewer-tools-update into defaultRider Linden
2015-04-14merge changes for STORM-2113Oz Linden
2015-04-14minimal changes to compile on Xcode 6.2Oz Linden
2015-04-13merge changes for 3.7.27-releaseOz Linden
2015-04-13MergeRider Linden
2015-04-11STORM-2113 - uri parsing cleanup and fixesCinder
2015-04-10restore the ll[io]fstream because we need them as wrappers on Windows for ↵Oz Linden
wide char paths; on other platforms they are now just typedefs to the std classes
2015-04-09Added LL_WARNS_IF to llerror.hRider Linden
If the coro is given something other than a map from the http then move the return into a body section. Changed windlight to use a coroutine and the new LLCore::Http libarary. Extra comments into Event Polling.
2015-04-07replace llifstream and llofstream with std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-07convert llifstream and llofstream to std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-07 MAINT-5023 FIXED URIparser crash in LLUrlEntryBase::urlToLabelWithGreyQueryMNikolenko ProductEngine
2015-04-02clarity and logging cleanupOz Linden
2015-04-02MAINT-5023 URIparser crash in LLUrlEntryBase::urlToLabelWithGreyQueryMnikolenko ProductEngine
2015-03-27MAINT-5019 FIXED Undesired http:// added to domains sent in chatMnikolenko ProductEngine
2015-03-24MAINT-5023 URIparser crash in LLUrlEntryBase::urlToLabelWithGreyQueryMnikolenko ProductEngine
2015-03-23Reogranized some headers for GCC added <memory> to the linden_common.h for ↵Rider Linden
shared_ptr
2015-02-24merge changes for 3.7.25-releaseOz Linden
2015-01-28MAINT-4744: Eliminate viewer dependency on (old) GNU libstdc++.Nat Goodspeed
To be more accurate, this changeset doesn't actually eliminate the dependency: it eliminates the use cases for the llifstream / llofstream feature that requires it. Currently you can construct an llifstream or llofstream from an open LLFILE* file handle (or, except on Windows, an int file descriptor). But rather than containing a streambuf implementation based on FILE*, llfile.h relies on the fact that the Windows std::filebuf happens to support that as a nonstandard extension; also on a nonstandard GNU extension __gnu_cxx::stdio_filebuf<char>. To move from GNU libstdc++ to clang's libc++ (the direction on Mac), we could code a streambuf that supports FILE*. But before doing that, it's worth asking whether anyone actually uses this questionable feature. In fact there were only two methods: LLWearable::exportFile() and importFile() -- and only one call to either, in LLViewerWearable::saveNewAsset(). The code in saveNewAsset() opened the LLFILE* immediately before calling exportFile(), meaning we could reasonably push the open operation down into exportFile(). That logic was complex anyway due to the need for the caller to close the LLFILE* regardless of the success of the exportFile(). Change LLWearable::exportFile() and importFile() to accept a std::string filename rather than an open LLFILE*. Change LLViewerWearable::saveNewAsset() to simply call exportFile(filename) rather than horsing around with an LLFILE* handle. (This improves the code in another way too: it encapsulates the need to open the relevant file in binary mode. Previously, each caller had to remember to do that.) To prevent inadvertent reintroduction of ll[io]fstream(LLFILE*) code, add llstream_LLFILE preprocessor macro (default 0) to control access to the relevant constructors. Also suppress rdbuf() override, the only method whose signature references llstdio_filebuf.
2015-01-22Disambiguate constructor's initialization call to its base class.Nat Goodspeed
A particular LLInitParam::TypeValuesHelper specialization is derived from a different TypeValuesHelper specialization. The subclass constructor TypeValuesHelper(...) has previously forwarded the call to its base-class constructor with: TypeValuesHelper(val): TypeValuesHelper(val) {} This is the first time I've looked at that; I'm a bit surprised that previous compilers blithely accept it, and apparently understand the intent. gcc 4.7 complains that we would need to turn on -std=c++11 to support delegating constructors; obviously the second TypeValuesHelper is now assumed to be the class being defined, rather than its base class. Fortunately the class already has typedefs for both specializations, fully qualified with all template parameters, so I simply replaced the second TypeValuesHelper reference with base_t.
2015-01-16Continue gradually replacing Boost.Lambda with Boost.Phoenix.Nat Goodspeed
For some reason, after the upgrade to Boost 1.57, gcc 4.6.3 has trouble with the boost::lambda::_1 usage in stringize.h. This is consistent with other cases we've encountered in which Boost.Lambda appears to be unmaintained and losing its compatibility with other libraries. Fortunately Phoenix provides a functional equivalent, albeit spelled differently.
2015-01-12Experimentally try full-size LLLeap stream test on Windows.Nat Goodspeed
The new toolchain may (!) have fixed a longstanding bug in LLLeap / APR when we try to pump large volumes of data through a Windows named pipe using APR nonblocking I/O. This used to fail pretty consistently because the APR nonblocking write call would sometimes spuriously return "would block" when in fact the data buffer was completely written; the caller would later retry, which of course would duplicate some of the data in the pipe. Preliminary experiments with VS 2013 suggest this may have been resolved. This changeset is to propagate the experiment to a wider range of Windows systems; we may need to revert it if in fact the bug persists.