that lets you suspend computation after a specified period of idleness.
This is necessary to allow some machines to go into low-power mode
when they're not being used.
- Change the wording of some existing prefs; for example, changed
"Do work while computer is in use?" to
"Suspend work while computer is in use".
The former is confusing - if you say yes, BOINC may in fact
NOT do work while the computer is in use,
due to other factors (time of day, etc.)
TODO: HOST_INFO::users_idle() should be changed so that it
returns the idle time
(rather than telling you whether we've been idle for X)
svn path=/trunk/boinc/; revision=13193
but don't do anything other than handle GUI RPCs.
After 50 secs, print an "about to exit" message.
After 60 seconds, exit
svn path=/trunk/boinc/; revision=13162
This cause the core client to exit immediately before or after
running a job,
letting you examine the contents of the slot directory.
- scheduler: changed max # of CPUs used in daily_result_quota
limit from 4 to 8, and make it a compile-time parameter
- feeder/scheduler: make the number of work items in shared
memory configurable (in config.xml).
The element is <shmem_work_items>
- feeder: make the size of the work item query configurable
(<feeder_query_size)
- feeder: remove code related to removing infeasible results
from shared mem.
This mechanism was never needed,
and I think a timeout would accomplish the same effect.
client/
app.C
app_start.C
client_state.C,h
cs_cmdline.C
sched/
feeder.C
sched_array.C
sched_config.C,h
sched_send.C
sched_shmem.C,h
sched_util.C
show_shmem.C
svn path=/trunk/boinc/; revision=12771
1) client wakes up from hibernate
2) one or more network ops start (e.g. because backoff expired)
3) ops fail because DNS system isn't up yet
4) connect to reference site fails too
5) user sees "please create physical connection",
even though there's been a physical connection the whole time.
Solution:
- keep track of "last wakeup time": the last time the
time of day (measured in poll_slow_events()) increased by more than 10 times the polling interval.
This must be either coming out of hibernation,
or the user resetting the system clock.
- When a network operation fails, try to contact the reference site
only if it's more than 30 seconds after the last wakeup time.
client/
client_state.C,h
net_stats.C
svn path=/trunk/boinc/; revision=12665
if the initial sched request failed,
the manager would show "communicating" for 60 sec,
then time out and show "failed to attach".
But the project would actually be attached.
This was due to a logic error,
but I fixed it in a more fundamental way:
by considering an attach to be complete immediately,
without waiting for a successful scheduler RPC.
This was originally done to ensure that the URL and account key were valid.
But when using the BOINC Manager, we've already verified
both of these before doing the attach project RPC.
When using boinc_cmd, you now have to check for messages
indicating a bad URL or account key.
I changed things to print these messages on every sched RPC.
Implementation: the notion of "tentative project" no longer exists.
client/
client_state.C,h
client_types.C,h
cs_account.C
cs_benchmarks.C
cs_scheduler.C
gui_rpc_server_ops.C
scheduler_op.C
sim.C
sim_util.C
svn path=/trunk/boinc/; revision=12663
if get an app_version with unknown platform name, ignore it.
This means that, e.g. if someone moves a BOINC directory
from Intel to PowerPC Mac, things will still work right.
client/
client_state.C,h
cs_platforms.C
cs_scheduler.C
cs_statefile.C
svn path=/trunk/boinc/; revision=12579
Remove the tacet assumption that a host can handle
applications for a single platform.
With the Apr 30 scheduler changes,
a project may (at different times)
send app versions for the same app and version number,
but different platforms.
Before we would have ignored all but the first;
now we handle them correctly.
Implementation notes:
- Add APP_VERSION.platform, RESULT.platform,
and RESULT.version_num.
If these are missing from an XML doc
(e.g. an existing state file or a scheduler reply
from a project not running current server)
then set to the primary platform.
- Continue to write workunit.version_num
and active_task.version_num to state file,
even though these are no longer part of the struct.
This allows users to revert to an older version.
client/
app.C
check_state.C
client_state.C,h
client_types.C,h
cs_apps.C
cs_scheduler.C
cs_statefile.C
sim.C
svn path=/trunk/boinc/; revision=12542
* refactored the alternate platform mechinism so that we
can support multiple alternate platforms.
* moved everything to cs_platforms.C since we expect the
kind of sprawl that is in host_info.C on the *nix
environments.
- Clean up some warnings
client/
acct_setup.C
client_state.C, .h
client_types.h
cs_platforms.C (Added)
cs_scheduler.C
cs_statefile.C
http_curl.C
lib/
str_util.h
svn path=/trunk/boinc/; revision=12531
- Exteded the "altername_platform" mechanism to x86_64 linux
and solaris. The current alternate platforms found by configure
are...
x86_64-pc-linux-gnu -> i686-pc-linux-gnu
sparc64-sun-solaris -> sparc-sun-solaris
sparc-sun-solaris -> sparc-sun-solaris2.7
powerpc64-apple-darwin -> powerpc-apple-darwin
- The alternate platform can be overridden on the configure command line
--with-boinc-alt-platform="platformname"
m4/
boinc_platform.m4
sched/
Makefile.am
client/
client_state.C
cs_scheduler.C
client_state.h
svn path=/trunk/boinc/; revision=12467
- Fix a minor compile problem on 64-bit Windows platforms with the
call to SetTimer.
- fixes#80: Introduce the notion of an alternate platform for 64-bit
Windows clients, which can also run 32-bit Windows apps.
TODO: We'll need to refactor the whole platform section in the
scheduler request creation section so that it can handle
multiple alternate platforms and for Linux/Mac.
api/
windows_opengl.C
client/
client_state.C, .h
cpp.h
cs_scheduler.C
svn path=/trunk/boinc/; revision=12421