6.12.36

Aus BC-Wiki
Zur Navigation springen Zur Suche springen

Zur Übersicht

  • Mac installer: Bug fixes for OS 10.7 Lion.
  • client (and API and manager): change the data structure used for system process info Old: vector of PROCINFO. Descendants of a process were found by recursively iterating through the vector. Operations are O(n) New: map of (id, OCINFO), and each PROCINFO has a vector of its children. Operations are O(log(n)) Also combined Mac/Win/Linux variants of code that was essentially the same.
  • more code shuffling: proc_control: controlling processes procinfo: enumerating and querying processes run_app_windows: launching apps as other users on Win
  • client/API: add a mechanism so that apps can report sub-processes that are not descendants (e.g., virtual machines) These processes are then counted as part of the app, not as "non-BOINC CPU time". This fixes a bug where processing was incorrectly suspended because CPU usage by VM apps exceeded the "CPU usage limit" pref. Implementation:
    • the PIDs of the processes in question are passed from app to client via shared-memory, in the app_status channel. A new variant of boinc_report_app_status() supports this.
    • the VBox wrapper queries the PID of the VM, and reports it in this way.
    • procinfo_app() includes a new argument: a list of PIDs that are part of the app, although not ancestrally related to the main process.
    • in the client, ACTIVE_TASK now includes a vector "other_pids". If this is nonempty, it's passed to procinfo_app().