summaryrefslogtreecommitdiff
path: root/indra/llmessage/message.cpp
AgeCommit message (Collapse)Author
2011-07-15Merge from viewer-developmentXiaohong Bao
2011-04-01VWR-24487 make PREHASH variables char const* constBoroondas Gupte
2011-02-05Introduces a LLThreadLocalData class that can beAleric Inglewood
accessed through the static LLThread::tldata(). Currently this object contains two (public) thread-local objects: a LLAPRRootPool and a LLVolatileAPRPool. The first is the general memory pool used by this thread (and this thread alone), while the second is intended for short lived memory allocations (needed for APR). The advantages of not mixing those two is that the latter is used most frequently, and as a result of it's nature can be destroyed and reconstructed on a "regular" basis. This patch adds LLAPRPool (completely replacing the old one), which is a wrapper around apr_pool_t* and has complete thread-safity checking. Whenever an apr call requires memory for some resource, a memory pool in the form of an LLAPRPool object can be created with the same life-time as this resource; assuring clean up of the memory no sooner, but also not much later than the life-time of the resource that needs the memory. Many, many function calls and constructors had the pool parameter simply removed (it is no longer the concern of the developer, if you don't write code that actually does an libapr call then you are no longer bothered with memory pools at all). However, I kept the notion of short-lived and long-lived allocations alive (see my remark in the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356 which requires that the LLAPRFile API needs to allow the user to specify how long they think a file will stay open. By choosing 'short_lived' as default for the constructor that immediately opens a file, the number of instances where this needs to be specified is drastically reduced however (obviously, any automatic LLAPRFile is short lived). *** Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/ regarding (doxygen) comments. This patch effectively only changes comments. Includes some 'merge' stuff that ended up in llvocache.cpp (while starting as a bug fix, now only resulting in a cleanup). *** Added comment 'The use of apr_pool_t is OK here'. Added this comment on every line where apr_pool_t is correctly being used. This should make it easier to spot (future) errors where someone started to use apr_pool_t; you can just grep all sources for 'apr_pool_t' and immediately see where it's being used while LLAPRPool should have been used. Note that merging this patch is very easy: If there are no other uses of apr_pool_t in the code (one grep) and it compiles, then it will work. *** Second Merge (needed to remove 'delete mCreationMutex' from LLImageDecodeThread::~LLImageDecodeThread). *** Added back #include <apr_pools.h>. Apparently that is needed on libapr version 1.2.8., the version used by Linden Lab, for calls to apr_queue_*. This is a bug in libapr (we also include <apr_queue.h>, that is fixed in (at least) 1.3.7. Note that 1.2.8 is VERY old. Even 1.3.x is old. *** License fixes (GPL -> LGPL). And typo in comments. Addresses merov's comments on the review board. *** Added Merov's compile fixes for windows.
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-01-29partial appeasement for CID-309Tofu Linden
only this piece really matters. a bit. Checker: UNINIT_CTOR Function: LLMessageSystem::LLMessageSystem(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&, unsigned int, int, int, int, bool, float, float) File: /indra/llmessage/message.cpp
2009-06-21merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3Steven Bennetts
ignore-dead-branch
2009-03-20svn merge -r113004:115000 ↵Dave Simmons
svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.26 Merge latest 1.26 into trunk
2009-02-25svn merge -r108815:112761 ↵Robert Knop
svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.26 The biggest things in this are Scalable Space Servers and Maint-Server-6 QAR-1209 : SSS QAR-1295 : maint-server-6 Conflicts resolved by prospero: C scripts/farm_distribute C scripts/automated_build_scripts/build-linux.sh : resolved by prospero, mostly kept the merge-right version in the conflict, but there was one block of repeated code from earlier that I removed. C scripts/automated_build_scripts/build-mac.sh : kept merge-right C indra/llcommon/llversionserver.h : svn revert C indra/newsim/llsimparcel.h : kept *both*... working had "setArea", merge-right had exportStream and importStream C indra/newsim/llsimparcel.cpp : see llsimparcel.h C indra/newsim/lltask.h : working had LLTask derived also from LLScriptResourceConsumer, merge-right had LLTask dervied also from LLAgentPosition. To resolve conflict, derive from both. C indra/newsim/lllslmanager.h : kept merge-right (had an added comment) C indra/llmessage/llhttpnode.h : kept working (added the definition of method LLHTTPNode::extendedResult) C indra/lscript/lscript_execute_mono/llscriptexecutemono.cpp C indra/lscript/lscript_execute_mono/llscriptexecutemono.h : These two were resolved by si, in consultation with daveh I also had to add the following stubs to indra/newsim/tests/llgodkickutils_test.cpp in order to get it to compile: // LLScriptResourceConsumer interface methods in LLTask LLScriptResource::LLScriptResource() { } LLScriptResourcePool::LLScriptResourcePool() { } LLScriptResourcePool LLScriptResourcePool::null; LLScriptResourceConsumer::LLScriptResourceConsumer() { } LLScriptResourcePool& LLScriptResourceConsumer::getScriptResourcePool() { return LLScriptResourcePool::null; } const LLScriptResourcePool& LLScriptResourceConsumer::getScriptResourcePool() const { return LLScriptResourcePool::null; } bool LLScriptResourceConsumer::switchScriptResourcePools(LLScriptResourcePool& new_pool) { return false; } bool LLScriptResourceConsumer::canUseScriptResourcePool(const LLScriptResourcePool& resource_pool) { return false; } bool LLScriptResourceConsumer::isInPool(const LLScriptResourcePool& resource_pool) { return false; } void LLScriptResourceConsumer::setScriptResourcePool(LLScriptResourcePool& pool) { } S32 LLTask::getUsedPublicURLs() const { return 0; } void LLTask::setScriptResourcePool(LLScriptResourcePool& pool) { }
2009-01-22Merging from production branch to trunkRobert Knop
svn merge -r108266:108604 svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.25 One merge conflict, in indra/backbone/agent_linden_dollar.py, which was very small, and resolved by Kartic & Prospero.
2009-01-19svn merge -r108236:108243 ↵Robert Knop
svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.25 Still merging from server-1.25... one day I will catch up! No conflicts
2009-01-08Result of svn merge -r107256:107258 ↵Aaron Brashears
svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165
2008-12-04Merging from server/server-1.25 back to trunk.Robert Knop
svn merge -r99446:104838 svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.25 Conflicts resolved by Prospero, except for one scary conflict in SendConfirmationEmail.php which was resolved by jarv.
2008-11-07QAR-992 Merging revisions 101012-101170,101686-101687 of ↵Mark Palange
svn+ssh://svn.lindenlab.com/svn/linden/qa/viewer_combo_1-22-merge into linden/release
2008-10-08merge r97380-98701 branches/viewer/viewer_1-21 (Viewer RC5 and security ↵Mark Palange
fixes) merge to trunk (for real)
2008-10-07Roll back of r98854 Accidentally commited merge in progressMark Palange
2008-10-07merge r97380-98701 branches/viewer/viewer_1-21 (Viewer RC5 and security ↵Mark Palange
fixes) merge to trunk
2008-10-01svn merge -r96886:98039 ↵Christian Goetze
svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-24-Server --> release
2008-06-26QAR-628 merge string-cleanup-5 -r 90476:90508 -> releaseSteven Bennetts
dataserver-is-deprecated
2008-06-02svn merge -r88066:88786 ↵Bryan O'Sullivan
svn+ssh://svn.lindenlab.com/svn/linden/branches/cmake-9-merge dataserver-is-deprecated for-fucks-sake-whats-with-these-commit-markers
2008-05-14Result of svn merge -r 87455:87538 $SVN/branches/tulla/vc3-merge .Eric Tulla
Passed QA as part of QAR-491.
2008-05-08QAR-570 maint-render-4 mergeSteven Bennetts
merge -r 87067:87077 svn+ssh://svn.lindenlab.com/svn/linden/branches/maint-render/maint-render-4-merge -> release. dataserver-is-deprecated.
2008-04-01merge release@83343 skinning-1-merge@83714 -> releaseSteven Bennetts
QAR-424
2007-12-19svn merge -r 75354:76103 ↵Jon Wolk
svn+ssh://svn.lindenlab.com/svn/linden/branches/voice-group-moderation-3 -> release. Finished product of QAR-134
2007-12-01 svn merge -r74808:74832 svn+ssh://svn/svn/linden/branches/qa-dpo-9aChristian Goetze
2007-11-20svn merge -r74104:74124 ↵Kyle Machulis
svn+ssh://svn/svn/linden/branches/crash-logger-cleanup-merge-6
2007-10-04Result of svn merge -r71162:71205 ↵Aaron Brashears
svn+ssh://svn/svn/linden/branches/new-license into release. only changes files which are not deployed or the comments section of code.
2007-10-04Result of svn merge -r70873:71086 ↵Aaron Brashears
svn+ssh://svn/svn/linden/branches/enable-exceptions into release.
2007-09-14EFFECTIVE MERGE: svn merge -r 68118:68999 ↵Don Kjer
svn+ssh://svn/svn/linden/branches/maintenance ACTUAL MERGE: svn merge -r 69685:69687 svn+ssh://svn/svn/linden/branches/release-r69649-maintenance-sync EQUIVALENT TO: svn merge -r 68118:69663 svn+ssh://svn/svn/linden/branches/maintenance-r68999
2007-08-21EFFECTIVE MERGE: svn merge -r 66133:68118 ↵Christian Goetze
svn+ssh://svn/svn/linden/branches/maintenance into release Actual action: branched maintenance-r68118, merged in release, then copied result into release
2007-07-20svn merge -r 64548:64837 svn+ssh://svn/svn/linden/branches/maintenance into ↵Don Kjer
release * WARNING *: maintenance r64837 is not the last rev to use in the next merge. use r65269
2007-07-11svn merge --ignore-ancestry svn+ssh://svn/svn/linden/release@65088 ↵Tess Chu
svn+ssh://svn/svn/linden/branches/release-candidate@65078 -> release Paired by Tess and rdw.
2007-06-21merge -r62831:64079 branches/maintenance to releaseKelly Washington
2007-06-13result of merge manually performed through diff and patch. svn diff ↵Aaron Brashears
svn+ssh://svn/svn/linden/release@63615 svn+ssh://svn/svn/linden/branches/release-candidate@63637 | patch -p0 in release
2007-05-30merge -r61423:62602 svn/branches/maintenance --> releaseKelly Washington
2007-05-02svn merge -r 60342:61148 svn+ssh://svn/svn/linden/branches/maintenance into ↵Don Kjer
release
2007-05-01svn merge -r 59163:61099 svn+ssh://svn/svn/linden/branches/release-candidate ↵Don Kjer
into release
2007-04-11svn merge -r 59968:60342 ↵Josh Bell
svn+ssh://svn.lindenlab.com/svn/linden/branches/maintenance --> release
2007-03-20svn merge -r59459:59476 ↵Karen Clark
svn+ssh://svn.lindenlab.com/svn/linden/branches/adroit.r69-75_2 into svn+ssh://svn.lindenlab.com/svn/linden/release.
2007-02-09Result of svn merge -r57350:57790 ↵Aaron Brashears
svn+ssh://svn/svn/linden/branches/os-patches.001 into release.
2007-02-06merge in of error-refactor-3Mark Lentczner
concludes (fixes) SL-31187 pair programmed and reviewed by markl and karen
2007-02-05merge -r 57517:57620 maintenance.Steven Bennetts
2007-02-02Result of svn merge -r57264:57370 ↵Aaron Brashears
svn+ssh://svn/svn/linden/branches/adroit.r40-68 into release.
2007-01-19SL-32769 Scripts now reliably register to receive email on region startup, ↵James Cook
we establish trust between dataserver and simulator explicitly on startup, reviewed by Kelly.
2007-01-17merge release@56803 release-candidate@56833Steven Bennetts
2007-01-03corrected, removed, and updated comments throughout the code to be more ↵Aaron Brashears
useful. no code changes. SL-13762
2007-01-02Print done when done.James Cook