summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2012-01-06Looking for better fix to EXP-1693 - date localizationRichard Linden
Backed out changeset: 4f3024e9d629
2012-01-06SH-2789 WIP - fixing the LL_USE_TCMALLOC code, make tests build with the ↵Brad Payne (Vir Linden)
same tcmalloc options as the sl executable
2012-01-05Introduce LLStreamQueue to buffer nonblocking I/O.Nat Goodspeed
Add unit tests to verify basic functionality.
2012-01-05Automated merge with https://bitbucket.org/lindenlab/viewer-developmentRichard Linden
2012-01-04SH-2789 WIP - stricter calling of memcpyNonAliased16Brad Payne (Vir Linden)
2012-01-04mergeBrad Payne (Vir Linden)
2012-01-04mergeBrad Payne (Vir Linden)
2011-12-23Fix sleep(0.5) to sleep(1) -- truncation to int makes that dubious.Nat Goodspeed
2011-12-23Should we expect EOF on one pipe before we finish reading the other?Nat Goodspeed
Defend test against the ambiguous answer to that question by not recording, or testing for, EOF history events. Enrich output for history-verification failures: display whole history array.
2011-12-23Automated merge with ssh://hg.lindenlab.com/nat/viewer-leapNat Goodspeed
2011-12-23Make pipe-management logic more robust.Nat Goodspeed
Previous logic was vulnerable to the case in which both pipes reached EOF in the same loop iteration. Now we use std::list instead of std::vector, allowing us to iterate and delete with a single pass.
2011-12-23STORM-1790 Provide a Develop sub-menu to change the default logging levelJonathan Yap
co-authored with Zi Ree
2011-12-22Comment out lookup table used only by commented-out code.Nat Goodspeed
Otherwise the unreferenced declaration causes a fatal warning.
2011-12-22Never call apr_proc_wait() inside child_status_callback().Nat Goodspeed
Quiet the temporary child_status_callback() output. Add a bit of diagnostic info if apr_proc_wait() returns anything but APR_CHILD_DONE.
2011-12-22Add child_status_callback() function and arrange to call periodically.Nat Goodspeed
At least on OS X 10.7, a call to apr_proc_wait(APR_NOWAIT) in fact seems to block the caller. So instead of polling apr_proc_wait(), use APR callback mechanism (apr_proc_other_child_register() et al.) and poll that using apr_proc_other_child_refresh_all(). Evidently this polls the underlying system waitpid(), but the internal call seems to better support nonblocking. On arrival in the child_status_callback(APR_OC_REASON_DEATH) call, though, apr_proc_wait() produces ECHILD: the child process in question has already been reaped. The OS-encoded wait() status does get passed to the callback, but then we have to use OS-dependent macros to tease apart voluntary termination vs. killed by signal... a bit of a hole in APR's abstraction layer. Wrap ensure_equals() calls with a macro to explain which comparison failed.
2011-12-21Tweak llprocesslauncher_test.cpp to run properly on Windows.Nat Goodspeed
Fix EOL issues: "\r\n" vs. "\n". On Windows, requesting a read in nonblocking mode can produce EAGAIN instead of EWOULDBLOCK.
2011-12-21SH-2789 WIP - aligned alloc and reallocBrad Payne (Vir Linden)
2011-12-21Change llprocesslauncher_test.cpp eyeballing to program verification.Nat Goodspeed
That is, where before we just flung stuff to stdout with the expectation that a human user would verify, replace with assertions in the test code itself. Quiet previous noise on stdout. Introduce a temp script file that produces output on both stdout and stderr, with sleep() calls so we predictably have to wait for it. Track and then verify the history of our interaction with the child process, noting especially EWOULDBLOCK attempts.
2011-12-21merge changes for vmrg-209 and vmrg-210 back from beta branchOz Linden
2011-12-21Fix llprocesslauncher_test.cpp to work on Windows.Nat Goodspeed
2011-12-21Add unit-test module for LLProcessLauncher.Nat Goodspeed
As always with llcommon, this is expressed as an "integration test" to sidestep a circular dependency: the llcommon build depends on its unit tests, but all our unit tests depend on llcommon. Initial test code is more for human verification than automated verification: does APR's child-process management in fact support nonblocking operations?
2011-12-21EXP-1693 FIXED the date localization in Item Profile window, Voice Morphs ↵Seth ProductEngine
window and in scroll list widget in general. - Added a customizable date format string to be used for scroll list cell of "date" type. - The date localization does not change the value of a scroll list cell changing only its string representation. - Added using localized week days and month names from strings.xml for all locales not only Ja and Pl as it was before. - Changed the date format in Item Profile window (French locale) as noted in the issue description. - For this fix the French locale still needs the localization of the following strings in strings.xml: <string name="dateTimeWeekdaysNames"> <string name="dateTimeWeekdaysShortNames"> <string name="dateTimeMonthNames"> <string name="dateTimeMonthShortNames"> <string name="dateTimeDayFormat"> <string name="dateTimeAM"> <string name="dateTimePM">
2011-12-19SH-2789 WIP - various fixes to force 16-byte alignmentBrad Payne (Vir Linden)
2011-12-15fix for SH-2738 and SH-2777, might also help SH-2723: heap corruptionXiaohong Bao
SH-2738: Texture fetching freezes due to LLcurl SH-2777: viewer crashed on logout in LLCurl::Easy::releaseEasyHandle
2011-12-15fix for SH-2738 and SH-2777, might also help SH-2723: heap corruptionXiaohong Bao
SH-2738: Texture fetching freezes due to LLcurl SH-2777: viewer crashed on logout in LLCurl::Easy::releaseEasyHandle
2011-12-14SH-2789 WIP - add asserts to check object address alignment where neededBrad Payne (Vir Linden)
2011-12-13storm-1729: ensure that cpu id has no leading or trailing spaces for ease of ↵Oz Linden
comparison and formatting
2011-12-12mergeBrad Payne (Vir Linden)
2011-12-12increment viewer version to 3.2.6Oz Linden
2011-12-12merge changes for vmrg-204Oz Linden
2011-12-09Backed out changeset fafd857891b1Dave Parks
2011-12-08Automated merge with http://hg.secondlife.com/viewer-developmentRichard Linden
2011-12-07mergeBrad Payne (Vir Linden)
2011-12-07mergeBrad Payne (Vir Linden)
2011-12-06LLSD-14: Extract remaining conditional LLSD mbrs to namespace llsd.Nat Goodspeed
Per Monty's code review, it's dubious practice to have a class in which certain members are sometimes visible, other times not. If these were virtual methods, or non-static data members, the error would be obvious -- but even with static data members and non-virtual methods, it looks like an ODR violation. Extract conditional methods as free functions, as in changeset 07cd70e75473.
2011-12-05mergeDave Parks
2011-12-05SH-2652 WIP -- Add timers to relevant areas, pause render pipeline while ↵Dave Parks
occlusion queries from previous frame are still pending and perform texture decode work.
2011-12-05LLSD-14: Optional entry points need conditional decls turned on.Nat Goodspeed
Changeset 07cd70e75473 moved LLSD::outstandingCount() and allocationCount() to free functions so we could turn their visibility on/off via LLSD_DEBUG_INFO. But on some platforms, without proper LL_COMMON_API declarations visible when we compile llsd.cpp, those free functions lack proper linkage directives. Declare LLSD_DEBUG_INFO in llsd.cpp so that when the llcommon library is built, the free functions get proper linkage -- independent of compilations of LLSD consumers.
2011-12-05fix for sh-2738: Texture fetching freezes due to LLcurlXiaohong Bao
2011-12-01Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2011-12-01LLSD-14: Move LLSD::(outstanding|allocation)Count() to free functions.Nat Goodspeed
Free functions can be unconditionally compiled into the .o file, but conditionally hidden in the header file. Static class methods don't have that flexibility: without a declaration in the header file, you can't compile a function definition in the .cpp file. That makes it awkward to use the same llcommon build for production and for unit tests. Why make the function declarations conditional at all? These are debugging functions. They break the abstraction, they peek under the covers. Production code should not use them. Making them conditional on an #ifdef symbol in the unit-test source file means the compiler would reject any use by production code. Put differently, it allows us to assert with confidence that only unit tests do use them. Put new free functions in (lowercase) llsd namespace so as not to clutter global namespace. Tweak the one known consumer (llsd_new_tut.cpp) accordingly.
2011-11-30Automated merge with http://hg.secondlife.com/viewer-developmentRichard Linden
2011-11-30mergeBrad Payne (Vir Linden)
2011-11-30increment viewer version to 3.2.5Oz Linden
2011-11-28bumped up MSVC warning level to 3 to catch more stuff that gcc catchesRichard Linden
2011-11-28Automated merge with ↵Xiaohong Bao
https://bitbucket.org/VirLinden/viewer-development-shining-fixes
2011-11-22trivial: update the memory pool log info to the latest.Xiaohong Bao
2011-11-19Make LLSD diagnostic methods conditional on LLSD_DEBUG_INFO.Nat Goodspeed
This establishes that there are no viewer-side unit tests relying on these methods. The point is to try to clean up the LLSD public API. In the same vein, remove from LLSD public API a diagnostic method which is nothing more than an implementation detail for the corresponding LLSD::Impl method. The same effect can be achieved by making LLSD::Impl a friend of LLSD, moving the method with the messy signature (classic-C arrays!) into LLSD::Impl itself.
2011-11-17LLSD-14: fixed way-too-overloaded local variable.Nat Goodspeed
2011-11-17LLSD-14: Make dumpStats()/calcStats() implementation more robustNat Goodspeed
per Monty code review