(e.g. "Download new client here" link) and others
(e.g. "Bad tag in cc_config.xml: <foo>").
- code cleanup; move show_message from main.cpp to client_msgs.cpp
svn path=/trunk/boinc/; revision=22548
about the message (sender, title, or content)
- user web: don't send an RSS item for a thread with no posts (i.e., hidden)
- client simulator: support global_prefs_override.xml
svn path=/trunk/boinc/; revision=22545
E.g., if a project deletes a news item, remove it from notices.
- notices RSS: remove the "since_time" mechanism
(an optimization that conflicts with the above)
svn path=/trunk/boinc/; revision=22543
as the major criterion in choosing non-EDF GPU jobs.
GPU scheduling now respects resource share,
and as a result STD should no longer diverge.
- client simulator: various improvements, most notably
that we now generate gnuplot graphs of all debt types
NOTE: the client problem was found and fixed using the simulator!
svn path=/trunk/boinc/; revision=22536
If # of ready-to-report tasks > max_tasks_reported,
then the excess ready-to-report tasks weren't getting
reported to the scheduler at all (i.e. not in <other_results> either)
so the scheduler would resend them
(not a fatal problem, but a waste of bandwidth).
From Josef Segur.
svn path=/trunk/boinc/; revision=22500
Such jobs fail on 32-bit machines, even if they have sufficient RAM,
because 32-bit OSs don't support address spaces > 2GB.
In general, we want to support the following scenario:
- an app has a mixture of small (< 2GB) and big (> 2GB) jobs.
- there are app versions for both 32b and 64b platforms
- one of the 32b versions is faster than the 64b version
(say, it's a 32b GPU app)
Goals:
If the client is 32b, send it only small jobs,
using the fast 32b version if possible
If the client is 64b and has sufficient RAM,
send it large jobs using the 64b version;
send it small jobs using the fast 32b version if possible,
else the 64b version
Solution: extend get_app_version() so that it detects big jobs,
and uses only 64b versions for them.
Add a "for_64b_jobs" field to BEST_APP_VERSION
so that we maintain a separate memoized set of
BEST_APP_VERSIONs for big jobs.
- client: don't set report_results_immediately inappropriately
svn path=/trunk/boinc/; revision=22440
don't include it in non-BOINC CPU time.
Otherwise the presence of such a process could
prevent BOINC from running apps.
(Windows only - will do Unix/Mac later)
svn path=/trunk/boinc/; revision=22422
leave them in memory.
Otherwise (if the CPU use is caused by launching an app,
say by security software)
we would get into a loop.
svn path=/trunk/boinc/; revision=22420
cmdline arg.
Suppresses the fetch of project list and of current client version #.
Use when running on grid nodes.
- debugging on client simulator. Not done yet.
svn path=/trunk/boinc/; revision=22414
Old: when a job finished, we cleared the backoffs for the
resources it used. The idea was to get more jobs
immediately in the case where the client was at
a jobs-in-progress limit.
Problem: this resulted in an RPC immediately,
typically before the output files were uploaded.
So the client is still at the limit, and doesn't get jobs.
New: clear the backoffs at the point when output files
have been uploaded and the job is ready to report.
- client: change range in resource backoff from (0,x) to (.5, 1.5*x)
svn path=/trunk/boinc/; revision=22411
Insteady of using its own XML input files,
the simulator now takes a client_state.xml file as input.
The simulator generates a synthetic workload based on the
projects, apps, app versions, WUs, and result it finds there.
This means that a user seeing aberrant behavior
can just send their client_state.xml file
and (hopefully) we can use the simulator to repro.
The simulator now can model GPUs.
As of this checkin, the simulator compiles but doesn't work.
There should be no change in the actual client.
svn path=/trunk/boinc/; revision=22409
If <use_since_time> is included in feed description,
the client will append &since_time=x to the URL,
where x is the lastBuildDate of the previous reply.
This notices handler (notices.php) sends only notices
newer than this.
- client: discard old notices as they arrive
svn path=/trunk/boinc/; revision=22396
allow for the possibility that suspended BOINC apps
aren't really suspended
(e.g. multithread apps that don't use boinc_init_parallel())
- client: message tweak
svn path=/trunk/boinc/; revision=22388
- inet_ntop() etc. exist only on Vista+
- the other functions are declared in winsock2.h.
This breaks the Manager build, since wxwidgets includes winsock.h.
So to hell with it.
- windows build: manager doesn't depend on client
svn path=/trunk/boinc/; revision=22358
- use "sockaddr_storage" to store network addresses
(which may be IPv4 or IPv6)
rather than assuming they fit in an int.
- the entries in gui_rpc_auth.cfg may now be IPv6 addresses
(a🅱️c:e:f:g format),
or domain names of hosts that support only IPv6
Note: GUI RPCs are still constrained to use IPv4,
but this should be easy to change if it's every needed
Also: replace deprecated gethostbyname() with getaddrinfo().
svn path=/trunk/boinc/; revision=22353
Implementation: create a base class PROJ_AM,
from which both PROJECT and ACCT_MGR_INFO are derived,
with basic stuff like name, URL, and RSS feed list
svn path=/trunk/boinc/; revision=22324