don't start the RPC directly;
that might fail if CLIENT_STATE::gui_http is busy.
Instead, set a timer field.
- client: structure ACCT_MGR_OP the same as other GUI_HTTP_OP variants
- client: clarify the comments on GUI_HTTP and GUI_HTTP_OP
Note: GUI_HTTP and GUI_HTTP_OP are misnomers; they refer to
any HTTP op other than scheduler requests and file transfers.
Should change the name, maybe to CLIENT_HTTP*
svn path=/trunk/boinc/; revision=24238
explicit rather than determined by position in a list.
- client: add a new "read-only" attribute for GUI RPCs.
This is in preparation for handling GUI RPCs in separate threads.
- client: remove code to support pre-V6 graphics.
svn path=/trunk/boinc/; revision=24232
- measure the available RAM of each GPU when BOINC starts up.
If this fails, set available = physical.
Show available RAM in startup messages.
- use available RAM rather than physical RAM in selecting
the "best" GPU instance
- report available RAM to the scheduler
TODO: change the scheduler to use available rather than physical
if it's reported
svn path=/trunk/boinc/; revision=24210
- client: prevent infinite recursion (and stack overflow)
in procinfo.cpp:add_child_totals().
Not sure how this could happen.
svn path=/trunk/boinc/; revision=24191
in GUI RPC, change RESULT.gpu_mem_wait to scheduler_wait.
It means that the app did a boinc_temporary_exit(),
and is waiting to be rescheduled.
GPU mem wait is one source of this, not the only one
svn path=/trunk/boinc/; revision=24176
by simulating time-slicing explicitly.
Also simulate changes in project REC
and hence in scheduling priority.
- client: add a log flag "rrsim_detail" that prints
time-slice-level info.
svn path=/trunk/boinc/; revision=24161
types for which we have no app versions
- client: if too many <coproc> elements in cc_config.xml,
detect it and inform user
svn path=/trunk/boinc/; revision=24144
and file signatures
- client: when describing app versions in scheduler requests,
we still must use CUDA instead of NVIDIA; that's what's in the server code.
svn path=/trunk/boinc/; revision=24135
the <working_global_preferences> element in
scheduler RPC request
(tells the server that there's an override file).
- account manager RPC: add <working_global_preferences> element,
including the override flag.
- web: add "no time limit" option for forum search
- web: increase show-user-post query limit to 10000
svn path=/trunk/boinc/; revision=24129
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().
svn path=/trunk/boinc/; revision=24123
proc_control: controlling processes
procinfo: enumerating and querying processes
run_app_windows: launching apps as other users on Win
svn path=/trunk/boinc/; revision=24120
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, PROCINFO),
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.
svn path=/trunk/boinc/; revision=24117
- clientgui: Rom, we should do error-checking of most GUI RPCs;
look for REPORT ERROR in ProjectProcessingPage.cpp
svn path=/trunk/boinc/; revision=24059