Commit Graph

27 Commits (2b604adf7bd20bbd78fce38ed44e2eba1ff1cdc8)

Author SHA1 Message Date
Xiaohong Bao 749d9ebadc Merge 2011-08-31 10:48:56 -06:00
Dave Parks 764a13a196 SH-2031 Don't do network I/O from the main thread in llcurl.
Reviewed by Kelly
2011-07-21 17:35:04 -05:00
Aleric Inglewood ef490e308c Introduces a LLThreadLocalData class that can be
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.
2011-02-05 15:58:07 +01:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Tofu Linden 68304cbd02 CID-312
Checker: UNINIT_CTOR
Function: LLHTTPPipe::Response::Response()
File: /indra/llmessage/lliohttpserver.cpp
2010-01-29 15:15:52 -08:00
Tofu Linden 54cc8274b0 CID-313
Checker: UNINIT_CTOR
Function: LLHTTPPipe::LLHTTPPipe(const LLHTTPNode &)
File: /indra/llmessage/lliohttpserver.cpp
2010-01-29 15:14:33 -08:00
Tofu Linden c99025f68f CID-314
Checker: UNINIT_CTOR
Function: LLHTTPResponseHeader::LLHTTPResponseHeader()
File: /indra/llmessage/lliohttpserver.cpp
2010-01-29 15:13:06 -08:00
Bryan O'Sullivan 30ff6cabd6 Merge with trunk 2009-08-31 13:47:47 -07:00
Mark Palange 0274c1f2b1 Merged work for DEV-2066 (and formerly QAR-1538) in Viewer 2.
merged all changes, post copy, from the following branches:
linden/brachnes/enable-o-v
user/cg/qar-1538
user/mani/viewer2-enable-o-v
2009-07-16 17:54:58 +00:00
Christian Goetze d025b721e0 svn merge -r126867:127217 svn+ssh://svn.lindenlab.com/svn/user/cg/qar-1691
Effective merge: svn merge -r125827:127126 svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.27
QAR-1691
2009-07-15 17:55:58 +00:00
Robert Knop c88b470a8a svn merge -r108815:112761 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-02-25 21:02:17 +00:00
Kelly Washington aa2b978bf5 merge -r 112783:112799 linden/branches/kelly/lsl-http-in-merge to linden/trunk 2009-02-24 19:29:36 +00:00
Aaron Brashears e3cf284388 Result of svn merge -r107256:107258 svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165 2009-01-08 00:05:06 +00:00
Don Kjer 4ff16b735f QAR-907: svn merge -r 98908:98910 svn+ssh://svn/svn/linden/qa/sim-metrics/sim-metrics2-release-merge-98903 into release 2008-10-09 18:07:46 +00:00
Aaron Brashears 66739da164 Result of svn merge -r97546:97641 svn+ssh://svn/svn/linden/branches/apache-caps/merge-to-release into release. QAR-824 2008-09-29 17:41:54 +00:00
Steven Bennetts 25c10ed028 QAR-628 merge string-cleanup-5 -r 90476:90508 -> release
dataserver-is-deprecated
2008-06-26 00:39:00 +00:00
Kyle Ambroff dc3f5ff87c svn merge -r90150:90340 svn+ssh://svn.lindenlab.com/svn/linden/branches/qar-699_combo-merge --> release
QAR-699 - Combo merge for QAR-687, QAR-637, QAR-586

 * QAR-687 - Test build with libs on S3
 * QAR-637 Test dynamic sound throttle
 * QAR-586 Test new http features branch
2008-06-21 07:39:52 +00:00
Kelly Washington dc48f1c741 svn merge -r83872:83893 linden/branches/Branch_1-20-0-Server to linden/release
HAVOK4 IN TEH HOUSE!!11!!ONE!!
If it is broken blame Joel for not fixing the loginassetdatabaseinventorygroupIM server instead of working on this.

QAR-448
2008-04-03 22:50:22 +00:00
Josh Bell 8bd6a0b321 svn merge -r 79445:79449 svn+ssh://svn.lindenlab.com/svn/linden/qa/maintenance-5-merge-79386
QAR-242 merge of maintenance-5 (QAR-203)
* DEV-6548 Copy To Inventory fail to execute without any output feedback when Notecard has changes but not saved
* DEV-7600 Deleting someone else's object in god mode crashes sim
* DEV-5329 LLSD parsers should determine and set maximum parse sizes
* DEV-7473 Resolve instant message crash report
* DEV-2904 Presence Issues not (apparently) caused by scripted attachments
* DEV-7083 Investigate Null Folder IDs Bug that caused 470K inventory items with Null Folder IDS on the Grid
* DEV-2865 Textures/Snapshots in a notecard are opened again when you click copy to inventory.
* DEV-6612 VWR-3290: Linux scons build script doesn't work with distcc
* DEV-8002 c++ llsd notation parser accepts malformed data
* DEV-8001 c++ xml parse returns wrong number of elements parsed
* DEV-8089 Double delete in statc structured data parse functions
* DEV-5326 Any viewer can request presence information for any agent
* DEV-2378 python service builder does not sort query string
* DEV-7872 Block teleport off teen grid sub-estates like Schome Park / Open University
* DEV-4465 Add a "logfile" command line option to the sim to create log files
2008-02-07 17:15:18 +00:00
Josh Bell dc2684fa1d svn merge -r 76923:76933 svn+ssh://svn.lindenlab.com/svn/linden/branches/improved-im-for-merge --> release
QAR-176 merge of Improved IM into Release
2008-01-07 20:56:24 +00:00
Jon Wolk 7dd08303a3 svn merge -r 75354:76103 svn+ssh://svn.lindenlab.com/svn/linden/branches/voice-group-moderation-3 -> release. Finished product of QAR-134 2007-12-19 00:56:59 +00:00
Aaron Brashears 5595a99623 Result of svn merge -r71162:71205 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-04 23:19:43 +00:00
Don Kjer d373dcc7cb svn merge -r 64548:64837 svn+ssh://svn/svn/linden/branches/maintenance into release
* WARNING *:  maintenance r64837 is not the last rev to use in the next merge. use r65269
2007-07-20 20:38:05 +00:00
Kelly Washington e03bb0606a merge -r62831:64079 branches/maintenance to release 2007-06-21 22:40:22 +00:00
Don Kjer 1c909afe39 svn merge -r 60342:61148 svn+ssh://svn/svn/linden/branches/maintenance into release 2007-05-02 21:24:47 +00:00
Don Kjer 4ecb9cb63e svn merge -r 59163:61099 svn+ssh://svn/svn/linden/branches/release-candidate into release 2007-05-01 21:39:25 +00:00
James Cook 420b91db29 Print done when done. 2007-01-02 08:33:20 +00:00