diff options
Diffstat (limited to 'indra/llcommon')
-rwxr-xr-x | indra/llcommon/llapp.cpp | 13 | ||||
-rwxr-xr-x | indra/llcommon/llavatarname.cpp | 10 | ||||
-rwxr-xr-x | indra/llcommon/llcoros.cpp | 1 | ||||
-rwxr-xr-x | indra/llcommon/llerror.h | 8 | ||||
-rwxr-xr-x | indra/llcommon/llerrorthread.cpp | 2 | ||||
-rwxr-xr-x | indra/llcommon/lleventcoro.h | 34 | ||||
-rwxr-xr-x | indra/llcommon/llevents.cpp | 6 | ||||
-rwxr-xr-x | indra/llcommon/llmemory.cpp | 24 | ||||
-rwxr-xr-x | indra/llcommon/llprocess.cpp | 23 | ||||
-rwxr-xr-x | indra/llcommon/llsys.cpp | 6 |
10 files changed, 69 insertions, 58 deletions
diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index b6581c714c..67a98d5fb8 100755 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -218,7 +218,8 @@ bool LLApp::parseCommandOptions(int argc, char** argv) { if(argv[ii][0] != '-') { - lldebugs << "Did not find option identifier while parsing token: "<< argv[ii] << llendl; + llinfos << "Did not find option identifier while parsing token: " + << argv[ii] << llendl; return false; } int offset = 1; @@ -377,7 +378,7 @@ void LLApp::startErrorThread() // if(!mThreadErrorp) { -// llinfos << "Starting error thread" << llendl; + llinfos << "Starting error thread" << llendl; mThreadErrorp = new LLErrorThread(); mThreadErrorp->setUserData((void *) this); mThreadErrorp->start(); @@ -895,7 +896,7 @@ bool unix_minidump_callback(const google_breakpad::MinidumpDescriptor& minidump_ --remaining; } - //llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; + llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; LLApp::runErrorHandler(); #ifndef LL_RELEASE_FOR_DOWNLOAD @@ -941,7 +942,7 @@ bool unix_post_minidump_callback(const char *dump_dir, strncpy(path, ".dmp", remaining); } - //llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; + llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; LLApp::runErrorHandler(); #ifndef LL_RELEASE_FOR_DOWNLOAD @@ -984,12 +985,12 @@ bool windows_post_minidump_callback(const wchar_t* dump_path, strncpy(path, ".dmp", remaining); } - //llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; + llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; // *NOTE:Mani - this code is stolen from LLApp, where its never actually used. //OSMessageBox("Attach Debugger Now", "Error", OSMB_OK); // *TODO: Translate the signals/exceptions into cross-platform stuff // Windows implementation - //llinfos << "Entering Windows Exception Handler..." << llendl; + llinfos << "Entering Windows Exception Handler..." << llendl; if (LLApp::isError()) { diff --git a/indra/llcommon/llavatarname.cpp b/indra/llcommon/llavatarname.cpp index aaa7f1212f..642bd82e90 100755 --- a/indra/llcommon/llavatarname.cpp +++ b/indra/llcommon/llavatarname.cpp @@ -230,10 +230,10 @@ std::string LLAvatarName::getUserName() const void LLAvatarName::dump() const { - //LL_DEBUGS("AvNameCache") << "LLAvatarName: " - // << "user '" << mUsername << "' " - // << "display '" << mDisplayName << "' " - // << "expires in " << mExpires - LLFrameTimer::getTotalSeconds() << " seconds" - // << LL_ENDL; + LL_DEBUGS("AvNameCache") << "LLAvatarName: " + << "user '" << mUsername << "' " + << "display '" << mDisplayName << "' " + << "expires in " << mExpires - LLFrameTimer::getTotalSeconds() << " seconds" + << LL_ENDL; } diff --git a/indra/llcommon/llcoros.cpp b/indra/llcommon/llcoros.cpp index 1ccb33b259..baaddcaed1 100755 --- a/indra/llcommon/llcoros.cpp +++ b/indra/llcommon/llcoros.cpp @@ -61,7 +61,6 @@ bool LLCoros::cleanup(const LLSD&) if (mi->second->exited()) { LL_INFOS("LLCoros") << "LLCoros: cleaning up coroutine " << mi->first << LL_ENDL; - // The erase() call will invalidate its passed iterator value -- // so increment mi FIRST -- but pass its original value to // erase(). This is what postincrement is all about. diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h index a724c0720f..08a5cd26df 100755 --- a/indra/llcommon/llerror.h +++ b/indra/llcommon/llerror.h @@ -283,6 +283,14 @@ typedef LLError::NoClassInfo _LL_CLASS_TO_LOG; #define LL_ENDL llendl #define LL_CONT (*_out) +// Short story: We don't want to enable this in release builds. +// +// Long story: ...because this call generates C++ exceptions +// which are handled and fine under the debugger, but instant death should they occur from +// within a coroutine's stackframe due to inherent limitations of Windows 32-bit SEH +// interacting with the fiber-based coroutine support used by boost. +// +// gmad BUG-2707/MAINT-2740 #if LL_WINDOWS && defined(_DEBUG) #define LL_WINDOWS_OUTPUT_DEBUG(a) OutputDebugString(utf8str_to_utf16str(a).c_str()), OutputDebugString("\n") #else diff --git a/indra/llcommon/llerrorthread.cpp b/indra/llcommon/llerrorthread.cpp index 4a0c8ef342..950fcd6e83 100755 --- a/indra/llcommon/llerrorthread.cpp +++ b/indra/llcommon/llerrorthread.cpp @@ -106,7 +106,7 @@ void LLErrorThread::run() // This thread sits and waits for the sole purpose // of waiting for the signal/exception handlers to flag the // application state as APP_STATUS_ERROR. - //llinfos << "thread_error - Waiting for an error" << llendl; + llinfos << "thread_error - Waiting for an error" << llendl; S32 counter = 0; #if !LL_WINDOWS diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h index f25c313920..a42af63b65 100755 --- a/indra/llcommon/lleventcoro.h +++ b/indra/llcommon/lleventcoro.h @@ -220,21 +220,21 @@ LLSD postAndWait(SELF& self, const LLSD& event, const LLEventPumpOrPumpName& req // request event. LLSD modevent(event); LLEventDetail::storeToLLSDPath(modevent, replyPumpNamePath, replyPump.getPump().getName()); - //LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName - // << " posting to " << requestPump.getPump().getName() - // << LL_ENDL; + LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName + << " posting to " << requestPump.getPump().getName() + << LL_ENDL; // *NOTE:Mani - Removed because modevent could contain user's hashed passwd. // << ": " << modevent << LL_ENDL; requestPump.getPump().post(modevent); } - //LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName - // << " about to wait on LLEventPump " << replyPump.getPump().getName() - // << LL_ENDL; + LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName + << " about to wait on LLEventPump " << replyPump.getPump().getName() + << LL_ENDL; // trying to dereference ("resolve") the future makes us wait for it LLSD value(*future); - //LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName - // << " resuming with " << value << LL_ENDL; + LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName + << " resuming with " << value << LL_ENDL; // returning should disconnect the connection return value; } @@ -351,19 +351,19 @@ LLEventWithID postAndWait2(SELF& self, const LLSD& event, replyPump0.getPump().getName()); LLEventDetail::storeToLLSDPath(modevent, replyPump1NamePath, replyPump1.getPump().getName()); - //LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name - // << " posting to " << requestPump.getPump().getName() - // << ": " << modevent << LL_ENDL; + LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name + << " posting to " << requestPump.getPump().getName() + << ": " << modevent << LL_ENDL; requestPump.getPump().post(modevent); } - //LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name - // << " about to wait on LLEventPumps " << replyPump0.getPump().getName() - // << ", " << replyPump1.getPump().getName() << LL_ENDL; + LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name + << " about to wait on LLEventPumps " << replyPump0.getPump().getName() + << ", " << replyPump1.getPump().getName() << LL_ENDL; // trying to dereference ("resolve") the future makes us wait for it LLEventWithID value(*future); - //LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << name - // << " resuming with (" << value.first << ", " << value.second << ")" - // << LL_ENDL; + LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << name + << " resuming with (" << value.first << ", " << value.second << ")" + << LL_ENDL; // returning should disconnect both connections return value; } diff --git a/indra/llcommon/llevents.cpp b/indra/llcommon/llevents.cpp index 49c8178b42..0855180dcd 100755 --- a/indra/llcommon/llevents.cpp +++ b/indra/llcommon/llevents.cpp @@ -575,13 +575,15 @@ void LLReqID::stamp(LLSD& response) const // okay to add a key. But if it was anything else (e.g. a scalar), // assigning a ["reqid"] key will DISCARD the previous value, // replacing it with a map. That would be Bad. - LL_INFOS("LLReqID") << "stamp(" << mReqid << ") leaving non-map response unmodified: " << response << LL_ENDL; + LL_INFOS("LLReqID") << "stamp(" << mReqid << ") leaving non-map response unmodified: " + << response << LL_ENDL; return; } LLSD oldReqid(response["reqid"]); if (! (oldReqid.isUndefined() || llsd_equals(oldReqid, mReqid))) { - LL_INFOS("LLReqID") << "stamp(" << mReqid << ") preserving existing [\"reqid\"] value "<< oldReqid << " in response: " << response << LL_ENDL; + LL_INFOS("LLReqID") << "stamp(" << mReqid << ") preserving existing [\"reqid\"] value " + << oldReqid << " in response: " << response << LL_ENDL; return; } response["reqid"] = mReqid; diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp index 44ba84c160..70ad10ad55 100755 --- a/indra/llcommon/llmemory.cpp +++ b/indra/llcommon/llmemory.cpp @@ -987,27 +987,27 @@ void LLPrivateMemoryPool::LLMemoryChunk::dump() } #endif #if 0 - LL_DEBUGS(LLMemory) << "---------------------------" << llendl ; - LL_DEBUGS(LLMemory) << "Chunk buffer: " << (U32)getBuffer() << " size: " << getBufferSize() << llendl ; + llinfos << "---------------------------" << llendl ; + llinfos << "Chunk buffer: " << (U32)getBuffer() << " size: " << getBufferSize() << llendl ; - LL_DEBUGS(LLMemory) << "available blocks ... " << llendl ; + llinfos << "available blocks ... " << llendl ; for(S32 i = 0 ; i < mBlockLevels ; i++) { LLMemoryBlock* blk = mAvailBlockList[i] ; while(blk) { - LL_DEBUGS(LLMemory) << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ; + llinfos << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ; blk = blk->mNext ; } } - LL_DEBUGS(LLMemory) << "free blocks ... " << llendl ; + llinfos << "free blocks ... " << llendl ; for(S32 i = 0 ; i < mPartitionLevels ; i++) { LLMemoryBlock* blk = mFreeSpaceList[i] ; while(blk) { - LL_DEBUGS(LLMemory) << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ; + llinfos << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ; blk = blk->mNext ; } } @@ -1731,7 +1731,7 @@ void LLPrivateMemoryPool::removeFromHashTable(LLMemoryChunk* chunk) void LLPrivateMemoryPool::rehash() { - LL_DEBUGS("LLMemory") << "new hash factor: " << mHashFactor << llendl ; + llinfos << "new hash factor: " << mHashFactor << llendl ; mChunkHashList.clear() ; mChunkHashList.resize(mHashFactor) ; @@ -1848,7 +1848,7 @@ LLPrivateMemoryPoolManager::~LLPrivateMemoryPoolManager() S32 k = 0 ; for(mem_allocation_info_t::iterator iter = sMemAllocationTracker.begin() ; iter != sMemAllocationTracker.end() ; ++iter) { - LL_DEBUGS(LLMemory) << k++ << ", " << (U32)iter->first << " : " << iter->second << llendl ; + llinfos << k++ << ", " << (U32)iter->first << " : " << iter->second << llendl ; } sMemAllocationTracker.clear() ; } @@ -2190,8 +2190,8 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times) { LLTimer timer ; - LL_DEBUGS(LLMemory) << " -**********************- " << llendl ; - LL_DEBUGS(LLMemory) << "test size: " << size << " test times: " << times << llendl ; + llinfos << " -**********************- " << llendl ; + llinfos << "test size: " << size << " test times: " << times << llendl ; timer.reset() ; char** p = new char*[times] ; @@ -2212,7 +2212,7 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times) FREE_MEM(sPool, p[i]) ; p[i] = NULL ; } - LL_DEBUGS(LLMemory) << "time spent using customized memory pool: " << timer.getElapsedTimeF32() << llendl ; + llinfos << "time spent using customized memory pool: " << timer.getElapsedTimeF32() << llendl ; timer.reset() ; @@ -2232,7 +2232,7 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times) ::delete[] p[i] ; p[i] = NULL ; } - LL_DEBUGS(LLMemory) << "time spent using standard allocator/de-allocator: " << timer.getElapsedTimeF32() << llendl ; + llinfos << "time spent using standard allocator/de-allocator: " << timer.getElapsedTimeF32() << llendl ; delete[] p; } diff --git a/indra/llcommon/llprocess.cpp b/indra/llcommon/llprocess.cpp index 59298366a3..715df36f39 100755 --- a/indra/llcommon/llprocess.cpp +++ b/indra/llcommon/llprocess.cpp @@ -81,7 +81,7 @@ public: // incrementing, listen on "mainloop". if (mCount++ == 0) { - //LL_DEBUGS("LLProcess") << "listening on \"mainloop\"" << LL_ENDL; + LL_DEBUGS("LLProcess") << "listening on \"mainloop\"" << LL_ENDL; mConnection = LLEventPumps::instance().obtain("mainloop") .listen("LLProcessListener", boost::bind(&LLProcessListener::tick, this, _1)); } @@ -93,7 +93,7 @@ public: // stop listening on "mainloop". if (--mCount == 0) { - //LL_DEBUGS("LLProcess") << "disconnecting from \"mainloop\"" << LL_ENDL; + LL_DEBUGS("LLProcess") << "disconnecting from \"mainloop\"" << LL_ENDL; mConnection.disconnect(); } } @@ -118,7 +118,7 @@ private: // centralize such calls, using "mainloop" to ensure it happens once // per frame, and refcounting running LLProcess objects to remain // registered only while needed. - //LL_DEBUGS("LLProcess") << "calling apr_proc_other_child_refresh_all()" << LL_ENDL; + LL_DEBUGS("LLProcess") << "calling apr_proc_other_child_refresh_all()" << LL_ENDL; apr_proc_other_child_refresh_all(APR_OC_REASON_RUNNING); return false; } @@ -216,13 +216,13 @@ public: remainptr += written; remainlen -= written; - //char msgbuf[512]; - //LL_DEBUGS("LLProcess") << "wrote " << written << " of " << towrite - // << " bytes to " << mDesc - // << " (original " << total << ")," - // << " code " << err << ": " - // << apr_strerror(err, msgbuf, sizeof(msgbuf)) - // << LL_ENDL; + char msgbuf[512]; + LL_DEBUGS("LLProcess") << "wrote " << written << " of " << towrite + << " bytes to " << mDesc + << " (original " << total << ")," + << " code " << err << ": " + << apr_strerror(err, msgbuf, sizeof(msgbuf)) + << LL_ENDL; // The parent end of this pipe is nonblocking. If we weren't able // to write everything we wanted, don't keep banging on it -- that @@ -738,7 +738,8 @@ LLProcess::LLProcess(const LLSDOrParams& params): { mPipes.replace(i, new ReadPipeImpl(desc, pipe, FILESLOT(i))); } - LL_DEBUGS("LLProcess") << "Instantiating " << typeid(mPipes[i]).name() << "('" << desc << "')" << LL_ENDL; + LL_DEBUGS("LLProcess") << "Instantiating " << typeid(mPipes[i]).name() + << "('" << desc << "')" << LL_ENDL; } } diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index 5d3595a66f..418c5763f8 100755 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -1032,9 +1032,9 @@ LLMemoryInfo& LLMemoryInfo::refresh() { mStatsMap = loadStatsMap(); -// LL_DEBUGS("LLMemoryInfo") << "Populated mStatsMap:\n"; -// LLSDSerialize::toPrettyXML(mStatsMap, LL_CONT); -// LL_ENDL; + LL_DEBUGS("LLMemoryInfo") << "Populated mStatsMap:\n"; + LLSDSerialize::toPrettyXML(mStatsMap, LL_CONT); + LL_ENDL; return *this; } |