Age | Commit message (Collapse) | Author |
|
Seems Linden's Boost package and the viewer build might use different
settings of the /Zc:wchar_t switch.
Anyway, this implementation using open(O_CREAT | O_EXCL) should be more
robust. I'm surprised Boost.Filesystem doesn't seem to offer "create a unique
file"; all I found was "generate a random filename fairly likely to be unique."
|
|
|
|
On Windows, calling boost::filesystem::path::string() implicitly requests
code conversion between std::wstring (the boost::filesystem::path::string_type
selected on Windows) and std::string. At least for integration-test program,
that produces link errors. Use Linden's wstring_to_utf8str() instead.
|
|
|
|
|
|
That, in turn, needs Boost.System library.
|
|
It's wonderful that the Python interpreter will accept a whole multi-line
script as a composite -c argument... but because Windows command-line
processing is fundamentally flawed, we simply can't count on it for Windows.
Instead, accept script text, write a temporary script file in a system-
dependent temp directory, ask Python to run that script and delete the file.
Also, on Windows, use _spawnl(), much simpler than adding bizarre Windows wait
logic to LLProcessLauncher. Use LLProcessLauncher only on Mac & Linux, with
waitpid() to capture rc.
|
|
|
|
|
|
This is in its infancy; tested on Mac; needs to be ironed out on Windows and
Linux. Goal is to test at least some cross-language LLSD serialization.
|
|
(per Monty code review)
The notion of storing LLMemoryInfo data both as an LLSD::Map and an
LLSD::Array of pair arrays arose from a (possibly misguided) desire to
continue producing stats output into the viewer log in the same order it
always used to be produced. There is no evidence that anyone cares about the
order of those stats in the log; there is no other use case for preserving
order. At Monty's recommendation, eliminate generating and storing the
array-of-pair-arrays form: directly store LLSD::Map.
|
|
(per Monty code review)
Explain why we intentionally don't suppress exceptions from boost::regex
objects constructed with string literals. Catch std::runtime_error from
boost::regex_search() and boost::regex_match(); log and return false.
|
|
(per Monty code review)
Other platforms return -1 anyway, so don't need to call load methods.
|
|
On Mac, where LLMemoryInfo relies on a child process rather than any sort of
internal system API, try to produce more informative LL_WARNS output if
popen() fails to run vm_stat, or if vm_stat terminates with nonzero rc.
|
|
For postprocessing these stats, we'll want the time at which they were
captured. We'll want the current framerate too, but handle that at a higher
level.
|
|
GetProcessMemoryInfo() is prototyped with PROCESS_MEMORY_COUNTERS*, so to
accept PROCESS_MEMORY_COUNTERS_EX* as documented, have to cast.
|
|
Remove <kfuncs.h>, documented header file for GetCurrentProcess().
|
|
Introduce StatsArray helper class to facilitate accumulating stats in the
array-of-pair-arrays form cached internally by LLMemoryInfo.
|
|
|
|
So far we've only been querying GlobalMemoryStatusEx(), but
GetPerformanceInfo() delivers a bunch more memory-related stats that may be
pertinent. Try capturing those too. May not yet compile on Windows...
|
|
|
|
|
|
fixed sky.
|
|
using the region info model.
|
|
|
|
Reason:
The "setregionterrain" message missed estate/region sun info and thus was incomplete.
Fix:
Added missing fields back.
Note:
The fields' values are fake.
|
|
Region/Estate floater.
|
|
inconsistent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Recast stream() to display data from LLSD array rather than reinvoking OS
operations used to capture it.
Make refresh() cache LLSD data in map form as well as array; fetch items from
that in a few places to avoid going back to OS.
|
|
Region/Estate Floater.
|
|
Handle conversion errors (boost::bad_lexical_cast).
Glean additional LLSD statistics from vm_stat output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is known not to compile on Mac yet; checking in to concurrently work on
Linux-specific code.
|
|
hour marks to the new one.
|
|
* Implemented new layout (made the floater smaller, moved widgets around).
* Implemented new sun phase slider, bound to 24h time.
|
|
|