|
|
| (7 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| = Objectives =
| | See [[Viewer App Cleanup]] |
| * Improve the stability and maintainability of the Second Life Viewer code by cleaning up the initialization and main loop code
| |
| * Move the main loop to a separate thread so that infinite loops can be detected and debugged
| |
| = Tasks =
| |
| == LLViewerApp ==
| |
| * Create a LLViewerApp class based on LLAppb
| |
| * Move class initialization and parameter parsing to LLViewerApp
| |
| * Move all error handling to LLViewerApp (errors set a flag and sleep, LLViewerApp generates the exception)
| |
| * Move all debug/info/warning/error text printing to LLViewerApp
| |
| ** Print text to a buffer instead of stdio
| |
| ** Send the buffer to stdio in LLViewerApp loop
| |
| == LLViewerThread ==
| |
| * Create a LLViewerThread class based on LLThread
| |
| * Move the main loop into LLViewerThread
| |
| == Eliminate viewer.cpp ==
| |
| * Create proper C++ abstractions for any remaining code in viewer.cpp
| |
| == Watchdog ==
| |
| * Add a 'watchdog' to LLViewerApp to detect infinite loops and trigger a crash
| |
| * Ensure that the crash handler generates proper stack information for LLViewerThread
| |