and change types of mem-size fields from int to double.
These fields are size_t in NVIDIA's version of this;
however, cuDeviceGetAttribute() returns them as int,
so I don't see where this makes any difference.
- client: fix bug in handling of <no_rsc_apps> element.
- scheduler: message tweaks.
Note: [foo] means that the message is enabled by <debug_foo>.
svn path=/trunk/boinc/; revision=25849
Otherwise it doesn't work for files >= 2GB
- Client: TIME_STATS::trim_stats_log() wasn't working because
it's called in the constructor of TIME_STATS,
which is called before we've done a chdir() to the data dir.
Note: for this reason, no disk access should be done in constructors
of global objects. A quick scan found no instances of this.
svn path=/trunk/boinc/; revision=25846
- Fix various #include issues.
CODING STYLE LAW (minimal inclusion principle):
If foo.cpp requires <blah.h>,
#include <blah.h> in foo.cpp, NOT foo.h
svn path=/trunk/boinc/; revision=25837
and there's a simple reason
(e.g. the project is suspended, no-new-tasks, downloads stalled, etc.)
show it in the event lot.
If the reason is more complex, don't try to explain.
svn path=/trunk/boinc/; revision=25827
1) a network connection is available and
2) network communication is allowed and
3) CPU computation is allowed
- If an app version is marked as needs_network,
use the above fraction in estimating its rate of progress
- replace "core client" with "client" in comments.
- scheduler: message tweaks
svn path=/trunk/boinc/; revision=25803
a given app that have different platforms and different version #s.
The client was erroneously deleting the one w/ the lower version
when it was no longer in use.
Fix: in garbage collection, consider one version to supercede another
only if they have the same platform
svn path=/trunk/boinc/; revision=25770
- added the definitions for the new Windows 7/2008r2 preSP1
and Windows 8/2012 SKUs based on the winnt.h
from the Windows 8 RC SKD (also added as proof)
- added the detection for some more Windows SKU
- Updates provided by Teamwork of Planet3Dnow.de to coproc_detect.cpp
- added CAL_TARGET_ID 21 as : AMD Radeon HD 78x0 series (Pitcairn)
(from [P3D] Crashtest)
svn path=/trunk/boinc/; revision=25760
make sure that the GPU supports it
(fix bug where sometimes, e.g. CUDA detection fails
but OpenCL succeeds, and we have a CUDA app).
svn path=/trunk/boinc/; revision=25630
- client: if acct mgr sends us an account with no authenticator,
show an error message instead of trying to attach
svn path=/trunk/boinc/; revision=25608
(whereas they didn't do this w/ older clients).
On Windows, the client uses TerminateProcess(h, 1) to kill processes;
the 1 is the exit code the process will appear to have.
So instead, add a "will_restart" bool arg to the various kill
functions, and if set use 0 (= STATUS_SUCCESS),
otherwise use EXIT_ABORTED_BY_CLIENT.
Note: in principle this shouldn't make any difference
for quitting tasks,
since handle_exited_app() checks for task state QUIT_PENDING
and ignores the exit code in that case.
The only place I can see where it would make any difference
is when we kill a process because it hasn't been handling
queued shared-memory messages for 180 seconds.
- client: add more info to the message about an exited app
- client: function return values (ERR_*) are different from
process exit codes (EXIT_*).
But in many places we were using return values as exit codes.
Fix these.
Also, break out the different types of limits a job can exceed
(time, disk, memory) into difference exit codes.
svn path=/trunk/boinc/; revision=25601
if you have
*pbuf = HeapAlloc(...)
then you need
if (*pbuf == NULL)
not
if (pbuf == NULL)
- various code cleanups from
- Makefile.am: don't include clientgui/res; nothing to make there
from Steffen Moeller
svn path=/trunk/boinc/; revision=25599
had a parse error, and it included project files.
While parsing the scheduler reply we'd add FILE_REFs to
PROJECT::project_files,
but wouldn't link them to FILE_INFOs since this is done
only if the reply parses correctly.
The next garbage_collect() would dereference these NULL pointers.
Solution: parse the FILE_REFS into SCHEDULER_REPLY::project_files.
Copy this to PROJECT::project_files only if the reply parses.
svn path=/trunk/boinc/; revision=25598
on each request.
- client: when showing how much work a scheduler request returned,
scale by availability (as is done to show the amount of the request)
- client in account manager request, <not_started_dur> and
<in_progress_dur> are in wall time, not run time
(i.e. scale them by availability)
Note: there's some confusion in the code between runtime and wall time,
where in general wall time = runtime / availability.
New convention: let's use "runtime" for the former,
and "duration" for the latter.
svn path=/trunk/boinc/; revision=25597