Difference between revisions of "LLViewerApp"

From Second Life Wiki
Jump to navigation Jump to search
(New page: = Objectives = * 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 ...)
 
Line 2: Line 2:
* Improve the stability and maintainability of the Second Life Viewer code by cleaning up the initialization and main loop code
* 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
* Move the main loop to a separate thread so that infinite loops can be detected and debugged
= See Also =
* [[Viewer Roadmap]]
= Tasks =
= Tasks =
== LLViewerApp ==
== LLViewerApp ==

Revision as of 14:44, 3 August 2007

Objectives

  • 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

See Also

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