summaryrefslogtreecommitdiff
path: root/indra/llcommon/llapp.cpp
AgeCommit message (Collapse)Author
2011-07-15Merge from viewer-developmentXiaohong Bao
2011-05-05Work in progress on CHOP-609 / CHOP-624 build time improvements. Eliminated ↵brad kittenbrink
a bunch of unnecesary header dependencies.
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-11-02STORM-422 FIXED Added command line option "-disablecrashlogger" to disable ↵Vadim ProductEngine
crash logger. This is a patch originally written by Robin Cornelius. I made it work with Google Breakpad.
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-06-29For developer Nix builds, default handle signal after crash report. Linux ↵Andrew A. de Laix
should generate a core dump; Darwin a mac crash report.
2010-06-29Generate windows minidump files on crash for developer (not release for ↵Andrew A. de Laix
download) builds. SL crash reporter still enabled.
2010-06-17Block installation of exception handler when app is being debugged (Darwin ↵Andrew A. de Laix
only). Fixes issues with debugging Darwin SL.
2010-05-28Try using mbstowcs() to convert to std::wstring.Lynx Linden
LLWString cannot be converted to std::wstring, apparently.
2010-05-28On Windows, you have to pass the minidump path as a wstring.Lynx Linden
2010-05-28Write breakpad minidump files to the SL log directory.Lynx Linden
Also, clean out old minidump files when we start up.
2010-05-27Removed the SyncErrorHandler from llapp and llappviewer*.Lynx Linden
This was only used for the Linux client to dump a stack trace to stack_trace.log, which is no longer needed now that we are using Google Breakpad. I also removed all of the stack printing code from llappviewerlinux.cpp.
2010-05-26Hooked up Google Breakpad for the Linux client too.Lynx Linden
Using Alain's Darwin reporter callback was all that was needed. Also replaced the call that exposed the breakpad exception class with a call to just write out the minidump, as that was the only reason for exposing it. Now clients don't need to know about Google Breakpad.
2010-05-24fix eof newlineAndrew A. de Laix
2010-05-24fix darwin build.Andrew A. de Laix
2010-05-24Just enough hackery to get minidumps into Wind'ohs crash reports. Code ↵Andrew A. de Laix
clean up needed.
2010-05-21Switch Darwin to use breakpad minidump rather than os generated crash stack.Andrew A. de Laix
2010-02-06move LLEventTimer into its own source module. everyone includes it, almost ↵Tofu Linden
no-one wants it. now I can dick with it a bit without rebuilding the world, at least. :)
2009-05-18Result of svn merge -r119432:120464 ↵Aaron Brashears
svn+ssh://svn/svn/linden/branches/http_database/merge-03 into trunk. QAR-1462
2009-03-09svn merge -r113780:113785Adam Moss
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/gst3-t113732 QAR-1333 linux gstreamer compatibility improvements and ADD_BUILD_TEST improvements - combo merge
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-06-06svn merge -r 88872:89137 svn+ssh://svn.lindenlab.com/svn/linden/qa/qar-652 ↵Josh Bell
--> release Effectively: svn merge -r 87048:88773 svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-22-Server * Plus some gcc4.x fixes In detail: * Bump version numbers to 1.22.0 Server * Updated files for enabled conductor. * Added tarball pulling during deploy for central servers. * DEV-15160 Logins not remembering start location on beta grid * DEV-15167 Random failure with set-classified-stats * DEV-15193 Viewer Passing Through Unsanitized Strings to DB when creating classifieds. * Add --location to the curl invocation in fetch_agni_ws_snapshot * QAR-609 Some Havok4 bug fixes * QAR-460 Automatic XUI selection & Kick-ass Linux Fonts MergeMe * DEV-14704 1.21.1.86182 revealing hidden groups in profile * DEV-14641 Change automated Subject Line messages for IM-to-Email to avoid SPAM association * DEV-15387 Write unit test for LLStringFn::strip_invalid_xml(). * Changed getpass.getuser() to os.getuid() as getuser() was returning the saved-UID of the process (root user, which kic ks off parabuild as parabuild u ser). We want os.getuid() as it correctly returns the parabuild user's uid. / Stupid mistake using os.getuid().. .fixed by using the pwd module to return the unix username given the userid from os.getuid() * QAR-623 More single ref attachment awesomeness testing * Committed temporary fix for running dwell and query-cache on deneb.lindenlab.com, since it's in the DFW colo with the current asset cluster. * DEV-15783 Groups not shown in search wont appear in your profile while using webservice * QAR-642 Even more single ref attachment awesomeness testing From Branch_1-21-Server (which didn't go directly into release) * addinng the phputf8 library found from http://phputf8.sourceforge.net/ and liscensed LGPL. For DEV-15202 * Checking in a fix for settle balance portion proc - the event query was moved. * fix for DEV-15202 - replace non-utf8 with REPLACEMENT CHAR. See jira for more info. * Checking return value from /proc/vault/charge, must get back a string. * removed code used for the browser hud AB test. * Changed TTL from stupid default of 1234 to 5 * DEV-15788 Fixing crashloganalyzer.py cleanup of unparseable crash reports. * DEV-15737 offline scripted IMs not working inprocess_im_using_ws Merge conflict resolutions/fixes include: * Addition of indra/test/llstring_tut.cpp to indra/test/test.vcproj migrated to CMakeLists.txt * Changes to BuildParams, scripts/automated_build_scripts/* reviewed w/ cg * Changes to deploy scripts (scripts/farm, install_indra.py, farm_deploy) based on the 1.22 changes except for mkpersist dir addition (retained from release) * Changes to scripts/crash_report/crashloganalyzer.py retained from 1.22, per Mani * scripts/generate_indra_xml.py, etc/services-station.dtd, indra/newsim/llagentinfo.cpp analyzed carefully by josh * indra/llcommon/llstring.h required fix for client build ("" --> std::basic_string<T>()) in LLStringBase<T> initializer * indra/llphysics/abstract/llphysicsshape.h #include syntax changed from <llmath/llvolume.h> to "llvolume.h" Psst, don't tell anyone, but the dataserver-is-deprecated
2008-05-19EFFECTIVE MERGES:Don Kjer
svn merge -r 79616:82632 svn+ssh://svn/svn/linden/branches/maintenance/maintenance-7 into release svn merge -r 83211:87215 svn+ssh://svn/svn/linden/branches/php-framework-3 into release ACTUAL MERGE: svn merge -r 87631:87698 svn+ssh://svn/svn/linden/qa/combo-merge-maintenance-7-php-framework-3 into release dataserver-is-deprecated
2008-05-07Back out QAR-520 maintenance-7 merge -- svn merge -r 86947:86946 ↵Brian McGroarty
svn+ssh://svn.lindenlab.com/svn/linden/release dataserver-is-deprecated
2008-05-07QAR-520 maintenance-7 merge -- svn merge -r 84923:86093 ↵Brian McGroarty
svn+ssh://svn.lindenlab.com/svn/linden/qa/maintenance-7-sandbox-84884 -- dataserver-is-deprecated
2008-04-17QAR-449 Viewer 1.20 RC 0Steven Bennetts
merge Branch_1-20-Viewer -r 84060 : 84432 -> release
2008-04-17Undid previous commit (bogus merge)Steven Bennetts
2008-04-17QAR-449 Viewer 1.20 RC 0Steven Bennetts
merge Branch_1-20-Viewer -r 84060 : 84432 -> release
2008-04-16QAR-455 Launcher and Heartbeat fixes MergeMeAdam Moss
svn merge svn+ssh://svn.lindenlab.com/svn/linden/release@84853 svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/signalcrap-merge1
2008-02-07svn merge -r 79445:79449 ↵Josh Bell
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
2007-11-09EFFECTIVE MERGE: svn merge -r 70833:71458 ↵Don Kjer
svn+ssh://svn/svn/linden/branches/maintenance-2 into release ACTUAL MERGE: svn merge -r 73210:73222 svn+ssh://svn/svn/linden/qa/maintenance-2-merge-73206 into release
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-02-06merge in of error-refactor-3Mark Lentczner
concludes (fixes) SL-31187 pair programmed and reviewed by markl and karen
2007-01-04svn merge svn+ssh://svn.lindenlab.com/svn/linden/release@56429 ↵Josh Bell
svn+ssh://svn.lindenlab.com/svn/linden/branches/maintenance@56431 This turned up the following "lost" changes: llapp.cpp (from maintenance r55371) - SIGPIPE fix, possibly llfontgl.cpp (from maintenance r50207) - whitespace only inventorybridge.cpp (property - non-executable) skins/xui/*/* (from maintenance r55380) - XML processing instruction went AWOL
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