Commit Graph

5125 Commits

Author SHA1 Message Date
David Anderson 21d5d8c7f3 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-05-16 10:15:12 -07:00
David Anderson e0871c380f client (Android): remove unused code 2013-05-15 11:17:45 -07:00
David Anderson 61913b181f client (Android): GUI reports battery and wifi status to client
Previously the client had (C++) code to
- check whether on AC or USB power
- get battery status and temperature
- check whether on wifi
These functions looked in various places under /sys.
Problem: the paths are system-dependent,
so whatever we do won't work on all devices.

The Android APIs for getting this info are in Java,
so we can't call them from the client.

Solution: have the GUI periodically get this info
and report it to the client via a GUI RPC.
The GUI must make this RPC periodically:
if the client doesn't get one within some period of time
(currently 30 sec) it suspends computing and network.

Also: if suspending jobs because of battery charge level
or temperature, leave them in memory.
2013-05-14 12:28:09 -07:00
David Anderson f1cb92184a client: apply app_config.xml settings after each scheduler RPC 2013-05-14 08:46:17 -07:00
Rom Walton 24e46aebe2 WIN: Reintroduce the application manifest for the core client. If BOINC was launched from an unprivileged (non-admin/not part of boinc_users/boinc_admin) attempts to write state files were re-directed to the VirtualStore instead of failing. Once things were fixed other random issues would occur. 2013-05-13 10:48:48 -04:00
David Anderson 9ae633a9bb Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-05-10 22:36:43 -07:00
David Anderson 4323afee1f client: task schedule tweak to avoid starvation case
In enforce_run_list(), don't count the RAM usage of NCI tasks.
NCI tasks run sporadically, so it doesn't make to count it;
doing so can starve regular jobs in some cases.
2013-05-09 15:24:44 -07:00
David Anderson 9c0da17e2f Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-05-06 11:58:06 -07:00
David Anderson 735e2ef394 - client emulator: show jobs in summary file 2013-05-03 15:08:06 -07:00
David Anderson ecfd6d8a63 - boinccmd: check RPC replies for errors; show them. 2013-05-03 15:05:30 -07:00
David Anderson e87971d758 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-26 12:21:48 -07:00
David Anderson c00f27a5a5 client: message tweak (show "don't need" in work request msg) 2013-04-26 12:19:43 -07:00
David Anderson 6c4b23e7d0 client: fix compile warnings
From Gianfranco Costamagna
2013-04-25 01:39:03 -07:00
David Anderson c26f05a516 client: don't use FLOPS info for completion estimates of NCI jobs 2013-04-25 01:09:08 -07:00
David Anderson 99258dcecb - client: fix compile warning 2013-04-24 20:00:02 -07:00
David Anderson 4142a23ae6 AMD GPU naming tweaks
From [P3D] Crashtest
2013-04-23 23:06:02 -07:00
David Anderson 9142a36ebe Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-22 10:08:23 -07:00
Charlie Fenton 476d4a7f90 client: fix fatal bug introduced in 64d7fa34 2013-04-22 03:30:29 -07:00
David Anderson 4434a9dd62 - client: add support for bool <no_project_notices> element
in account manager RPC reply.
    If set, suppress display of notices from projects
    (still display notices from the account manager).
2013-04-19 21:40:10 -07:00
David Anderson 7e3dbfa67a - client: final fix to GUI RPC addition 2013-04-18 14:08:50 -07:00
David Anderson 64d7fa3474 - client: more fixes to GUI RPC addition.
Also, replace get_project_dir() with a memoized member function of PROJECT
2013-04-18 13:57:33 -07:00
David Anderson 0880c7107a - fix previous GUI RPC commit 2013-04-18 13:09:03 -07:00
David Anderson 9a073defd1 - client: win compile warning fix 2013-04-18 12:45:19 -07:00
David Anderson aa07305eeb - GUI RPC: add "project_dir" field to PROJECT struct.
GUIs can look for image files (stat_icon etc.) in this directory.
2013-04-18 12:43:17 -07:00
David Anderson 81d64892b6 - client: msg tweak 2013-04-18 00:36:03 -07:00
David Anderson 3610a334aa - client: minor code cleanup 2013-04-17 11:33:53 -07:00
David Anderson 68331492ac - client: Avoid showing too-old stats in GUI.
Trim old credit statistics on each GUI RPC
    as well as each scheduler reply.
2013-04-17 01:25:24 -07:00
David Anderson 35390ef974 - client: add support for CPU OpenCL apps.
Add OPENCL_DEVICE_PROP cpu_opencl_prop to HOST_INFO;
    this store info about the host's ability to run CPU OpenCL apps.
    Detect this, and report it in scheduler requests.
2013-04-16 22:42:29 -07:00
Charlie Fenton a6f0810145 client: add AMD GPU name for HD 3650 (RV635) 2013-04-15 03:03:10 -07:00
Charlie Fenton c8e1b51e40 client: fix matching of ATI/AMD CAL and OpenCL GPU enumeration for (most) cases where CAL supports some older GPUs but OpenCL does not. 2013-04-15 03:01:31 -07:00
Joachim Fritzsch c084536dce Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-11 11:50:46 +02:00
Joachim Fritzsch 5ba9644302 -client: bugfix for Android in host_is_running_on_batteries(). Change filehandling back to fopen and fclose from rewind. 2013-04-11 11:50:26 +02:00
Charlie Fenton 882bcb838a client: Balance braces because unbalanced braces confuse Xcode's text editor. 2013-04-11 02:33:32 -07:00
Charlie Fenton 81d7a66f3b client: fix compile break on Linux (from Gianfranco Costamagna) 2013-04-11 01:46:29 -07:00
David Anderson 7442ec888d Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-04-11 01:21:13 -07:00
David Anderson 3fe5da73bd - client: if a job's finish file has been there > 10 sec,
do atp->abort_task() rather than atp->kill_task();
    the latter will restart it infinitely on Unix
- client: prefix timestamp to stderr messages
2013-04-11 01:18:57 -07:00
Charlie Fenton 9b97daa34f Mac: Cix compile errors 2013-04-10 17:54:41 -07:00
David Anderson 33bf4f7851 - client: check error returns from kill() and kill_via_switcher(), show messages 2013-04-10 15:56:40 -07:00
Rom Walton 20208a61e9 - client: add timestamps to output that is written to the console/syslog/windows event log before BOINC has had a chance to initialize its own logging mechanism. 2013-04-10 18:51:35 -04:00
Rom Walton 27bca08d69 client: Make the detach console stuff backwards compatible with BOINCTasks. 2013-04-09 13:12:34 -04:00
David Anderson 63611be7e8 - client: fix bug in work fetch that caused infinite RPCs
if all projects backed off
- client emulator: disable "fetch master URL" logic
2013-04-08 11:33:49 -07:00
David Anderson 6c1f6f4550 - client: put back --detach (because BoincTasks assumes it)
and --detach_console (because the documentation says it exists).
    I'm not sure why --detach_phase_two is there, but leave it.
2013-04-07 23:10:49 -07:00
David Anderson 6b6c2ac519 - client: fix bug that could cause idle GPUs when exclusions are present.
The basic problem: the way we assign GPU instances when creating
        the "run list" is slightly different from the way we assign them
        when we actually run the jobs;
        the latter assigns a running job to the instance it's using,
        but the former doesn't.
    Solution (kludge): when building the run list,
        don't reserve instances for currently running jobs.
        This will result in more jobs in the run list, and avoid starvation.
        For efficiency, do this only if there are exclusions for this type.
    Comment: this is yet another complexity that would be eliminated
        if GPU instances were modeled separately.
        I wish I had time to do that.
- client emulator: change default latency bound from 1 day to 10 days
2013-04-07 13:00:15 -07:00
David Anderson b98d6154d1 - client: AMD GPU name tweaks 2013-04-07 00:32:46 -07:00
David Anderson b9a25b8a20 - client: AMD GPU names; from Jord 2013-04-06 22:09:18 -07:00
David Anderson 5b701ef9e0 - scheduler: fix bug in plan class XML spec,
when it uses a project-specific pref element that's
    missing from a user's prefs.
    From Michael Goetz via Rytis.
2013-04-04 23:58:15 -07:00
David Anderson fde9ab70a1 - client: fix bug in work fetch that prevented resource backoff 2013-04-04 16:20:29 -07:00
David Anderson 330a25893f - client emulator: parse <max_concurrent> in <app> in client_state.xml.
This gives you a way to simulate the effects of app_config.xml
- client: piggyback requests for resources even if we're backed off from them
- client: change resource backoff logic
    Old: if we requested work and didn't get any,
        back off from resources for which we requested work
    New: for each resource type T:
        if we requested work for T and didn't get any, back off from T
        Also, don't back off if we're already backed off
            (i.e. if this is a piggyback request)
        Also, only back off if the RPC was due to an automatic
            and potentially rapid source
            (namely: work fetch, result report, trickle up)
- client: fix small work fetch bug
2013-04-04 10:25:56 -07:00
David Anderson aadb36578b - Client: detect new Win versions and AMD GPUs; from [P3D] Crashtest 2013-04-03 00:19:01 -07:00
David Anderson 24e8133e4b - tabs -> spaces 2013-04-02 17:23:37 -07:00
David Anderson a5bcf6ab3b - client: work fetch message tweaks: show state before actions 2013-04-02 17:04:45 -07:00
David Anderson f6a61fe801 - client: major overhaul of work-fetch logic based on suggestions
by Jacob Klein.
    The new policy is roughly as follows:
    - find the highest-priority project P that is allowed
        to fetch work for a resource below buf_min
    - Ask P for work for all resources R below buf_max
        for which it's allowed to fetch work,
        unless there's a higher-priority project allowed
        to request work for R.
    If we're going to do an RPC to P for reasons other than work fetch,
    the policy is:
    - for each resource R for which P is the highest-priority project
        allowed to fetch work, and R is below buf_max,
        request work for R.
2013-04-02 12:32:28 -07:00
David Anderson 1b9ad86694 - client: don't prefix <task> messages with [task] 2013-04-02 12:31:32 -07:00
David Anderson 93b8289b60 - XML parser: return error if string exceeds buffer size.
- client: when parsing MD5, use 64 instead of 33 char buffer.
    When the XML parser reads a string,
    it enforces the buffer size limit BEFORE it strips whitespace.
    So if a project put whitespaces before or after the MD5,
    it would fail to parse.
2013-03-29 22:36:53 -07:00
David Anderson fae5fc45be - alphabetize fields in prefs structure
- client emulator: simulate project-requested backoff after work fetch
2013-03-29 22:26:38 -07:00
David Anderson 7aaa136f7a - client: on startup, if new version, arrange to get new project list 2013-03-29 18:38:57 -07:00
David Anderson ff68226477 - client emulator: if try to do RPC to a "down" project, back off
- client emulator web interface: show simulations in reverse chron order
2013-03-25 10:22:46 -07:00
David Anderson 515deea4fb - client, work fetch: request # instances so that we have enough jobs
to use project's share of instances.
- client emulator: if client_state.xml doesn't have <no_rsc_apps>
    for a project, and the project doesn't have apps for that resource,
    the project can be asked for work for that resource.
2013-03-25 09:25:25 -07:00
David Anderson b93e80c6f5 - client: code cleanup. Some variable/function/constant names
contained "debt" when they actually refer to REC.
    Change these names to use "rec".
2013-03-24 11:22:01 -07:00
David Anderson a78705a8d4 - client emulator: ignore non-CPU-intensive apps
- remote job submission:
    - prefix error messages with "BOINC server:"
      so higher levels can tell where the error is coming from
    - "get templates" RPC can take job name instead of app name
- Condor interface
    - add BOINC_SELECT_PROJECT function
    - BOINC_SUBMIT no longer has info about output files
    - Change BOINC_FETCH_OUTPUT semantics
2013-03-22 22:04:35 -07:00
David Anderson 128da198b6 - client: rename two different functions named backoff()
to make it easier to see what's going on.
- fix code formatting in manager
2013-03-22 10:43:05 +01:00
David Anderson 825dc2e606 - client: if <dont_check_file_sizes> is set in config, still check for
errors (e.g. verify failures) at startup, and reset file if so.
   Otherwise we'll never recover from those errors.
2013-03-22 10:43:05 +01:00
David Anderson 6cbaefba91 - client and API: add gpu_usage field to APP_INIT_DATA,
so an app can find out what GPU fraction it's expected to use
2013-03-22 10:39:52 +01:00
David Anderson 89c9e49bc6 - client emulator: implement project availability feature 2013-03-22 10:31:43 +01:00
David Anderson 1ef582aad6 - client: improve work fetch messages
- web: include user ID in email to moderators about banishment
2013-03-22 10:29:48 +01:00
David Anderson 8e63d72f3d - client: updated Windows version identification, from Robert Kress 2013-03-22 10:28:20 +01:00
David Anderson f9520431e9 - Client: debug last commit.
Also fix bug where benchmarks don't end when clock goes backward.
2013-03-22 10:28:20 +01:00
David Anderson 702798b84b - client: a couple of more clock-change fixes 2013-03-22 10:28:20 +01:00
David Anderson 9481e04e7b - client: there were many places in the code where we keep track
(usually in a static variable called "last_time")
    of the last time we did something,
    and we only do it again when now - last_time exceeds some interval.
    Example: sending heartbeat messages to apps.
    Problem: if the system clock is decreased by X,
    we won't do any of these actions are time X,
    making it appear that the client is frozen.
    Solution: when we detect that the system clock has decreased,
    set a global var "clock_change" for 1 iteration of the polling loop,
    and disable these time checks if clock_change is set.
2013-03-22 10:28:20 +01:00
David Anderson 4fbac17647 - client: alphabetize log flags 2013-03-22 10:25:39 +01:00
David Anderson 23cb962508 - client emulator compile fix 2013-03-15 13:38:45 +01:00
David Anderson 546ea233a0 - client: fix small work fetch bug that caused the client to
not add a piggyback work request when it should have.
2013-03-15 13:38:45 +01:00
David Anderson fc6b050883 - client: removed unused code for old work-fetch logic 2013-03-15 13:38:45 +01:00
David Anderson 88b905668f - client and boinccmd: update usage text
- update Unix command completion script
- update XML man pages for client, manager, boinccmd
2013-03-15 13:38:45 +01:00
David Anderson 033a47691b - client: write log flags in alpha order 2013-03-15 13:38:44 +01:00
David Anderson 3ced18ddaa - client: don't show cache size in startup messages. 2013-03-15 13:38:44 +01:00
Rom Walton 2b95c65555 client: Revert my changes for the --detach_console functionality back to the original implementation. 2013-03-07 11:31:38 +01:00
David Anderson e41f7dfee5 - client: parse <fetch_on_update> config flag, and show it on startup 2013-03-07 11:30:08 +01:00
David Anderson 71b6508313 - client: add <fetch_on_update> config option;
requests work when you update a project
    even if it's not highest priority
2013-03-07 11:28:43 +01:00
David Anderson e41800082e - client (FreeBSD): detect running on batteries; from rustyBSD 2013-03-07 11:28:43 +01:00
David Anderson 2e23bfedaa - client, work fetch policy. Change policy for projects w/ GPU exclusions 2013-03-07 11:28:43 +01:00
David Anderson 24b62b58a8 - client emulator: fix crash if you have active tasks of
non-CPU-intensive projects
2013-03-07 11:28:43 +01:00
David Anderson 951f16d960 - client: add --suppress_net_info cmdline option 2013-03-07 11:28:42 +01:00
David Anderson a63ebbc13e - client: change work fetch policy to work better with GPU exclusions
- scale amount of work request by
        (# non-excluded instances)/#instances
    - change policy:
        old: don't fetch work if #jobs > #non-excluded instances
        new: don't fetch work if # of instance-seconds used in RR sim
            > work_buf_min * (#non-exluded instances)/#instances
2013-03-07 11:28:42 +01:00
David Anderson d7be4f9f09 - Client: on read_cc_config() GUI RPC, reread app_config.xml files
as well as cc_config.xml
2013-03-05 17:26:33 +01:00
David Anderson 77ee073f58 - client: show error notice if a GPU exclusion (in cc_config.xml)
has an invalid URL, type, or app
- server, create_work() function: if a <file_info> in input template
    lists URLs, they're directories; append filename to each one
2013-03-05 16:57:51 +01:00
David Anderson 0a75353fb7 - client (Android and other Unix without shmget())
Don't write spurious messages to stderr about shmem operations
    not being supported.
2013-03-05 16:42:44 +01:00
Rom Walton 4325ba01bf Android: Initialize variable 2013-03-05 16:40:25 +01:00
Oliver Bock 7a434286b1 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 16:39:57 +01:00
David Anderson 5c7f583e42 - client: suspend_reason is not a bitmap; fix code that acted like it is. 2013-03-05 16:39:36 +01:00
Rom Walton b26fdda827 Android: Add different locations that can host battery information.
Android: For all power/battery file descriptors, NULL out their buffers so the client will grab the latest information and not recycle the old information.
2013-03-05 16:38:42 +01:00
Rom Walton 45120de247 Android: Fix crashing bug when we poll for battery information 2013-03-05 16:38:42 +01:00
Rom Walton 6012f9261f Android: Remove debug code for Android, the required functions are called and function.
Android: Remove separate copy_asset.sh script and make that the last part of the build_boinc.sh script.
2013-03-05 16:38:42 +01:00
Rom Walton ff53e509cf Android: Add trace statements to track down battery issues 2013-03-05 16:38:41 +01:00
Rom Walton 255fbade62 client: Fix typo for Android builds 2013-03-05 16:38:41 +01:00
Oliver Bock 05eba7c951 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 16:35:14 +01:00
David Anderson 6352f9ca9d - client (Android): forget hysteresis policy; don't compute if < 95% charged. 2013-03-05 16:34:58 +01:00
David Anderson 06eadde310 - client (Unix): check whether VBoxManager is executable by us
before trying to run it.
    Otherwise we get lots of msgs in stderr.
2013-03-05 16:33:39 +01:00
Rom Walton 3ffc712961 client: Another typo 2013-03-05 16:31:08 +01:00
Rom Walton 9b83503d9d client: Another typo 2013-03-05 16:31:08 +01:00
Rom Walton f6807efe18 client: Properly return the battery status as full when it is. 2013-03-05 16:31:08 +01:00
Oliver Bock e695df9f6e Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 16:00:47 +01:00
David Anderson c7a5156573 - client: work fetch: if there are idle devices, we need to ask
the highest-prio project for work for all of them
    (don't scale by the fetchable resource share!).
    This should fix some device starvation problems.
2013-03-05 16:00:35 +01:00
Rom Walton 49e41f7123 client: Fix typo from previous commit 2013-03-05 15:57:35 +01:00
Rom Walton af7948910e client: Adjust logging on Android so that all messages that show up in the event log are also dumped to LogCat, things were originally setup with that intent but I don't think __VA_ARGS__ was having the desired effect. 2013-03-05 15:57:34 +01:00
David Anderson 3c029c7613 - client: job scheduler tweak to avoid CPU idleness in situation
where GPU jobs use different CPU fractions
- single-job submission: default platform is that of server
2013-03-05 15:57:34 +01:00
Oliver Bock eb79b9e78b Merge branch 'master' of ssh://boinc.berkeley.edu/boinc
Conflicts:
	client/hostinfo_unix.cpp
2013-03-05 15:45:13 +01:00
Rom Walton 011441fb1f client: Removed unused variables on Android wifi detection 2013-03-05 15:40:04 +01:00
Rom Walton c9717d068b client: Fix typo for Android 2013-03-05 15:40:04 +01:00
Rom Walton 7b40d2286f client: Fix Typo for Android 2013-03-05 15:40:04 +01:00
Rom Walton 64ec0f49a3 client: Fix typos for Android 2013-03-05 15:40:04 +01:00
Rom Walton d2df80a859 client: Fix typos for Android 2013-03-05 15:40:04 +01:00
Rom Walton 22a2762622 client: Fix build break on Android 2013-03-05 15:40:04 +01:00
David Anderson 3b18584cb3 - client (Android): change battery-status function so that it
keeps file descriptors open
    (slight simplification and performance enhancement).
2013-03-05 15:33:54 +01:00
David Anderson 21f580d9ef - client (Android): suspend processing if battery temperature > 45 C.
We can adjust this or make it configurable later.
2013-03-05 15:28:00 +01:00
Oliver Bock 58395eda60 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 15:27:30 +01:00
Rom Walton 86ceabbee2 client: Fix typo 2013-03-05 15:27:26 +01:00
David Anderson 7177185585 - client: show "%" correctly in messages from scheduler 2013-03-05 15:27:09 +01:00
David Anderson 607060ffaa - client (Android)
- Don't compute if the battery is overheated
    - Don't compute until the batter is 95% charged.
        Then stop computing if it falls below 90%.
        (On some devices, computing causes the batter to drain
        even while it's recharging).
2013-03-05 15:24:01 +01:00
Rom Walton 9ce39485b5 client: Basic detection of the battery state for a given host for Windows and Android. Useful for detecting if the battery is overheating. 2013-03-05 15:12:52 +01:00
Rom Walton 759b3b8078 client: Basic detection of how much capacity a host's battery has on Android and Windows. 2013-03-05 15:12:52 +01:00
David Anderson 3a530a4c34 - client: check return value of the function (statfs or statvfs)
used to find disk space and usage.
    This may be failing for in-memory filesystems on Linux.
2013-03-05 15:05:29 +01:00
David Anderson 4eed4c1b7d - client: message tweak
- remote job submission: output file fetch now working.  Woo hoo!
2013-03-05 14:52:37 +01:00
David Anderson 9342fe696b - client (Win) fixes/improvements to CPU feature detection, from Robert Kreß 2013-03-05 14:52:37 +01:00
David Anderson d013b1f74a - Client: message tweak for GPU suspend/resume 2013-03-05 14:26:49 +01:00
Eric J Korpela 9b191c409a - Modifications to autoconf scripts for non-standard openssl installs 2013-03-05 14:17:54 +01:00
Oliver Bock f728f4e9d4 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 14:05:27 +01:00
Joachim Fritzsch ad05a8b0b9 - client: (android) add wifi location of Android 4 devices to detect wifi state properly. 2013-03-05 14:05:04 +01:00
David Anderson c17d20ccd9 - client: show sysmon messages correctly.
This was supposed to be in my 507cd79 commit, but it got botched somehow.
- client: the <task> debug flag enables suspend/resume messages
    for both CPU and GPU.
    Previously CPU messages were always shown,
    and GPU messages were shown if <cpu_sched_debug> was set.
- client: fix bug where reschedule wasn't being done on GPU suspend or resume.
2013-03-05 14:05:04 +01:00
David Anderson 986ea8707c - client: if app does temporary exit, don't print premature exit warning 2013-03-05 14:05:04 +01:00
Rom Walton 340fcfd733 client: when formatting the OpenCL description field, use the human readable version of the GPU type. People were expecting Intel GPU instead of intel_gpu. 2013-03-05 14:03:49 +01:00
Charlie Fenton c2e77a0515 Compile fix for non-Windows clients 2013-03-05 13:43:14 +01:00
David Anderson 6c5522d9c5 Win compile fix 2013-03-05 13:42:01 +01:00
David Anderson c141e7bdc9 - client (Win): don't call msg_printf() from sysmon thread.
Instead, put msg into a buffer and let main thread print it.
    This may fix crashes on system suspend/resume.
2013-03-05 13:42:01 +01:00
David Anderson 3c73f40809 - client: the logic for work fetch in the presence of GPU exclusions
(especially per-app exclusions) was incomplete and buggy.
    Changes:
    - make bitmaps of included instances per (app, resource type)
    - in round-robin simulation, we keep track of used instances
        (so that we know if there are instances that are idle
        because of exclusions).
        Do this based on app-level exclusions
        (previously it was done based on project-wide exclusions,
        which didn't include app-level exclusions).
    - compute RSC_PROJECT_WORK_FETCH::non_excluded_instances
        as the logical OR of the per-app masks.
        I.e. if you exclude an instance for all apps separately,
        it's the same as excluding it for the project as a whole.
        (Note: this bitmap is used for only 1 purpose:
        if we have idle instances, don't request work from a project
        for which those instances are excluded.)
    - define RSC_PROJECT_WORK_FETCH::ncoprocs_excluded as the # of
        instances excluded for *any* app, not the # excluded for all apps.
        This quantity is used in work fetch to make sure we don't
        unboundedly fetch jobs that turn out not to have a GPU to run on
        due to exclusions.
2013-03-05 13:42:00 +01:00
David Anderson 4857dc5c06 - client: write GPU list in get_state() GUI RPC.
Otherwise manager doesn't know what GPUs we have.
2013-03-05 13:42:00 +01:00
Oliver Bock 07747498f1 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-05 13:40:13 +01:00
David Anderson 994f4d6b4c - Manager: fix case where the client has only an Intel GPU,
and the manager was acting as if it had no GPUs.
2013-03-05 13:39:42 +01:00
David Anderson 30076015b5 - client: add code for Intel GPU testing 2013-03-05 13:38:06 +01:00
David Anderson 6afa644fed - client: backoff message tweaks 2013-03-05 13:38:06 +01:00
David Anderson e711309357 - client: get proxy info before attempting project list fetch
or any other HTTP op
2013-03-05 13:38:06 +01:00
David Anderson 79c6225fc2 - configure: work with "gold" linker 2013-03-05 13:33:27 +01:00
David Anderson e0881efa57 - client: make CPU throttling apply to GPU apps 2013-03-04 17:50:43 +01:00
Rom Walton 076858a729 LIB: Standardize on using windows_format_error_string and drop windows_error_string.
* Move the windows_format_error_string function to win_util.cpp, .h instead of it being scattered between util.h and str_util.cpp.
* Convert the Windows error string into UTF8 before allowing it to be used by the caller
* Remove windows_error_string from library
2013-03-04 17:39:24 +01:00
David Anderson fd4de39477 - client: add code for detecting running on batteries on OpenBSD.
From RustyBSD.
2013-03-04 17:39:24 +01:00
David Anderson e8d6c33fe1 - user web: fix security vulnerabilities
- client: show available disk space correctly on startup
2013-03-04 17:39:24 +01:00
Rom Walton 5452037e93 - WIN: Update copyright information in the Windows resource files 2013-03-04 17:39:24 +01:00
David Anderson eea35c152e - client: when checking file sizes at startup,
skip image files if the "dont_verify_images" pref is set.
    Otherwise we'll downloading the file on each startup.
    From Juha.
2013-03-04 17:39:23 +01:00
David Anderson 369abbd9f8 - client: if gui_rpc_auth.cfg is empty, print a warning but don't error out;
an empty GUI RPC password is allowed.
2013-03-04 17:39:23 +01:00
Oliver Bock 08126182b6 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc
Conflicts:
	checkin_notes
2013-03-04 17:36:15 +01:00
Rom Walton 4ee64625c1 - client: Account for the display management power system when
calculating idle time from the XSS system on Linux.
2013-03-04 17:35:35 +01:00
David Anderson 18d0f1f4d9 more GAHP code 2013-03-04 17:24:20 +01:00
David Anderson 9209a887cc - client: don't crash if GUI RPC password is too long
(from RustyBSD)
2013-03-04 17:24:20 +01:00
David Anderson 5e434214af - client: disable remote access if
- gui_rpc_auth.cfg is empty, or
    - it doesn't exist and we can't open it for writing, or
    - the write to it fails
2013-03-04 17:24:19 +01:00
David Anderson d0de3776bd - client: processor identification for ARM
(from Evandro Menezes and Joachim Fritzsch)
2013-03-04 17:24:19 +01:00
David Anderson 77233c7bcc - improve project list page 2013-03-04 17:24:19 +01:00
David Anderson f0254407ea - client: improved log messages for work fetch 2013-03-04 17:24:18 +01:00
David Anderson 7cdb3a7080 - web: add advisory text to "Export as Notice" balloon
- scheduler: make max # of CPUs a #define, default 4096
2013-03-04 17:24:18 +01:00
David Anderson 3e288f7766 More line endings (Part 2, From Rom) 2013-03-04 17:24:18 +01:00
David Anderson 3960a9fc83 - client simulator: fix build errors 2013-03-04 17:19:39 +01:00
Charlie Fenton 4f5fd8899c OpenCL: Eliminate spurious error message when an OpenCL platform exists but the computer has no corresponding devices 2013-03-04 17:19:39 +01:00
David Anderson a64cb793f1 - scheduler: attempted performance enhancement.
Old: each scheduler process holds a semaphore
        while scanning the shared-mem job array.
        On machines with many CPUs
        there seems to be contention for this semaphore,
        causing slow scheduler response and possibly connection failures.
    New: Don't hold the semaphore while scanning array.
        Instead, if find a job that passes quick_check(),
        acquire the semaphore and recheck that the job is present in array
        and passes quick_check().
- client: show messages if app_config.xml has unrecognized tags
2013-03-04 17:16:56 +01:00
David Anderson 861696c060 - fix compile warning
- Git can ignore Unix compile outputs
2013-03-04 17:12:13 +01:00
Oliver Bock d41e2fb6f8 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-04 17:05:43 +01:00
David Anderson 17a4ab8db9 David 11 Dec 2012
- Win process control (affects API and wrapper):
		Since Win doesn't have an API for process suspend/resume,
		we were suspending processes by
			1) enumerating all the threads in the system (typically several thousand)
			2) suspending those belonging to the given process
		The problem: for each thread, the code was calling a function
		in diagnostics_win.cpp to see if the thread was exempted from suspension.
		This check (which is unnecessary anyway if we're suspending another process)
		was surrounded by a semaphore acquire/release.
		The result: performance problems.
		It could take a minute to suspend the threads.
		Solution:
			1) do the check for exemption only if we're suspending threads
				in our own process (i.e. from the API)
			2) if we're suspending multiple processes, enumerate the threads
				only once, and see if each one belongs to any of the processes
			3) have the wrapper elevate itself to normal priority.
				Otherwise it can get preempted for long periods,
				sometimes in the middle of scanning the threads.
		Note: post-9x versions of Win have a process group API that includes suspend/resume.
		We'll switch to this soon.
2013-03-04 17:02:40 +01:00
David Anderson 7328d4a1ad - client: re-apply app configuration after each scheduler RPC;
otherwise the changes get overwritten
2013-03-04 17:01:36 +01:00
Charlie Fenton 407d16a7d9 client: clean up redundant and confusing GPU description 2013-03-04 17:01:36 +01:00
Charlie Fenton 298988918c client: clean up redundant and confusing GPU description 2013-03-04 17:01:36 +01:00
Charlie Fenton 462be89f01 Restore changes lost due to GIT confusion 2013-03-04 17:01:36 +01:00
David Anderson 7f36658d4b - minor code cleanup from RustyBSD 2013-03-04 16:45:04 +01:00
David Anderson 5ad78a8b9d - client: replace ignore_nvidia_dev etc. with an array.
PRINCIPLE: AVOID PER-GPU-TYPE VARIABLES
- get rid of alloca() stuff in gutil.cpp; almost certainly not needed
- don't include malloc.h; it doesn't exist on BSD systems
2013-03-04 16:44:52 +01:00
Charlie Fenton 6d6403545a client: clean up redundant and confusing GPU descriptions 2013-03-04 16:42:16 +01:00
David Anderson 6224f6f292 - client: win compile fix 2013-03-04 16:42:16 +01:00
Oliver Bock 508b9b572b Merge branch 'master' of ssh://boinc.berkeley.edu/boinc
Conflicts:
	checkin_notes
	client/acct_mgr.cpp
	client/cs_statefile.cpp
	client/gpu_opencl.cpp
	lib/coproc.cpp

Additional changes:
	client/Makefile.am

Dropped changes:
	client/cs_scheduler.cpp (516eff6)
	sched/sched_send.cpp (2dd8288)
2013-03-04 16:35:08 +01:00
Rom Walton 2dd82881de - client/server: fix build breaks I introduced last night with a variable
rename.
2013-03-04 15:30:03 +01:00
Rom Walton 516eff60b0 - client: Hook up the XML portion of the Intel GPU detection code so
the server scheduler knows about it.
    - client: Print out the peak flops for the Intel GPU, the regular
        OpenCL descriptions do not show peak flops.
2013-03-04 15:30:03 +01:00
David Anderson 1174b00aba - client/manager: tweaks to Intel GPU code 2013-03-04 15:27:25 +01:00
Rom Walton 6d0e60a7d9 - MGR: Minor fix to the OpenCL output for Intel GPUs. 2013-03-04 15:27:15 +01:00
Charlie Fenton f3c11f5831 client: strcasestr does exist on Windows in lib/str_replace.cpp, but I just needed to #include "str_replace.h". This is preferable because it handles INTEL as well as Intel and intel 2013-03-04 15:23:39 +01:00
Rom Walton 2f67ee08ce - client: strcasestr doesn't exist on Windows. 2013-03-04 15:23:39 +01:00
Charlie Fenton ce87ec9848 OpenCL: First pass at adding support for Intel Ivy Bridge GPUs 2013-03-04 15:23:39 +01:00
David Anderson c332021853 - Mac installer: add missing pclose() (from RustyBSD) 2013-03-04 15:23:37 +01:00
David Anderson ce47010dbb - client: if <dont_check_file_sizes> is set, don't check file existence at startup
- wrapper: open files in shared mode so you can look at them while wrapper is running
2013-03-04 15:23:37 +01:00
David Anderson fdc085264a - client (Win) preallocate large files to avoid file fragmentation
when you write to them incrementally
    (workaround for shoddy filesystem design)
- admin web: remove line that limited mass emails to 10
2013-03-04 15:23:37 +01:00
David Anderson a46d93f566 - client: bug fixes for app config feature 2013-03-04 15:23:37 +01:00
David Anderson 952a495fb7 - client: add "client app configuration" feature; see
http://boinc.berkeley.edu/trac/wiki/ClientAppConfig
    This lets users do the following:
    1) limit the number of concurrent jobs of a given app
        (e.g. for WCG apps that are I/O-intensive)
    2) Specify the CPU and GPU usage parameters of GPU versions
        of a given app.
    Implementation notes:
    - max app concurrency is enforced in 2 places:
        1) when building the initial job run list
        2) when enforcing the final job run list
        Both are needed to avoid possible starvation.
    - however, we don't enforce it during RR simulation.
        Doing so could cause erroneous shortfall and work fetch.
        This means, however, that work buffering will not work
        as expected if you're using max concurrency.
2013-03-04 15:20:32 +01:00
David Anderson de71ae7f7f - client: when reset a project, clear its scheduler URL list
(force a reload of the master page)
2013-03-04 15:16:58 +01:00
David Anderson 016b11e522 - client: fix uninitialized vars in CPU feature detection (from RustyBSD) 2013-03-04 15:06:32 +01:00
David Anderson 959aee51d0 - client: if a project is anonymous platform,
don't send list of alternate platforms in scheduler RPC.
2013-03-04 15:06:32 +01:00
David Anderson aa31777003 - client: if a project has 64 or more ready-to-report tasks,
report them.
    64 is chosen a bit arbitrarily, but the idea is to
    limit the number of tasks reported per RPC,
    and to accelerate the reporting of small tasks.
2013-03-04 15:04:51 +01:00
David Anderson 10e8c031c2 - client: fix typo 2013-03-04 14:14:06 +01:00
David Anderson e538c8c303 - client: TIME_STATS fields go in <time_stats> part of state file
- scheduler: parse TIME_STATS fields (e.g., uptime)
- admin web: small fix for manage_apps.php
2013-03-04 14:14:05 +01:00
David Anderson b4408c9585 - build fixes for OpenBSD, from rustyBSD 2013-03-04 14:09:43 +01:00
David Anderson 7768f6da60 - client: fix bug where, when updating a project, we fail to request work even though higher-priority projects are marked as no-new-tasks or are otherwise ineligible for work fetch. 2013-03-04 14:09:43 +01:00
David Anderson c15267ad3a - client: Win build fix
- add Visual Studio project for slide_show
	NOTE: this currently doesn't build because boinc_zip is missing.
	I'll fix this soon.
2013-03-01 16:26:09 +01:00
Eric J Korpela 4dcd5a3a11 - Allow sysconfdir to be specified rather than hardcoded at '$prefix/etc' (submitted by Alexander Kruppa) - Fix for compiles on os without xlocale.h 2013-03-01 16:19:16 +01:00
David Anderson 5457b6b77f - client: in checking reasons for not requesting work,
look at backoff last.
    Otherwise the user can get a misleading message if they
    update a project that's backed off
2013-03-01 16:17:19 +01:00
David Anderson 1e06eb2fda - fix a few unlikely but possible file-descriptor leaks
- remote job submission: always compute fraction done when showing
    batch list; check for nonexistent user
2013-03-01 16:17:19 +01:00
David Anderson 5b740acee0 - client/manager: move the conditional define of MAXPATHLEN
from boinc_win.h to filesys.h,
	so that the client will hopefully build on Hurd,
	which doesn't define MAXPATHLEN.
2013-03-01 16:17:19 +01:00
David Anderson 51bdd803d1 - client: message tweaks for failed app startup 2013-03-01 16:14:13 +01:00
David Anderson 9cf10b400a - GUI RPC: expose TIME_STATS info (e.g. on_frac) in
the binding of the get_state() RPC
- client: move client_start_time and previous_uptime
    from CLIENT_STATE to TIME_STATS,
    so that these are also visible in GUI RPC
- scheduler RPC: move uptime and previous_uptime
    into <time_stats>
- client: condition an RR simulation message on <rrsim_detail>
- boinccmd: show TIME_STATS info in --get_state
2013-03-01 16:08:52 +01:00
David Anderson c8bc624553 - client, Unix: make Curl sockets close-on-exec,
so that app processes don't inherit them.
- client: fix bug that makes client exit if a slot dir contains
    finish file on startup
2013-03-01 16:08:52 +01:00
David Anderson 0f5fcca435 - client: if exiting because of exit_after_finished flag,
write state file before exiting so we don't restart the job later.
2013-03-01 16:08:52 +01:00
David Anderson 56868ced49 - client: fix bug in handling proxy info in cc_config.file 2013-03-01 16:08:52 +01:00
David Anderson 83211fd1c6 client: kill lingering apps
- client: if an app's finish file has existed for 10 seconds, kill it;
    it must be hung in boinc_finish().
    This behavior has been seen with LHC@home and maybe other projects.
2013-03-01 15:56:12 +01:00
David Anderson 777f1f11e8 - client: change work fetch policy to avoid starving GPUs in situations where GPU exclusions are used. - client: fix bug in round-robin simulation when GPU exclusions are used.
Note: this fixes a major problem (starvation)
    with project-level GPU exclusion.
    However, project-level GPU exclusion interferes with most of
    the client's scheduling policies.
    E.g., round-robin simulation doesn't take GPU exclusion into account,
    and the resulting completion estimates and device shortfalls
    can be wrong by an order of magnitude.

    The only way I can see to fix this would be to model each
    GPU instance as a separate resource,
    and to associate each job with a particular GPU instance.
    This would be a sweeping change in both client and server.
2013-03-01 15:31:41 +01:00
David Anderson 5cdc6f3efd - tweaks 2013-02-28 15:56:43 +01:00
David Anderson 36c304e7d3 - client: maintain current and previous uptime, and include them in scheduler RPC request. - scheduler: parse them Note: this is to support a future feature where the scheduler will send non-checkpointing jobs only clients likely to be able to complete them. 2013-02-26 16:53:20 +01:00
David Anderson 76282d0a20 - Win compile fixes.
For now, include psapi.lib in various project properties.
		Try to figure out a different way.

svn path=/trunk/boinc/; revision=26149
2012-10-11 19:22:34 +00:00
David Anderson 7d40c46923 - client and API: improve the way an app checks for the death of the client
Old: heartbeat mechanism
    Problem: if the client is blocked for > 30 secs
        (e.g. because it takes a long time to write the state file,
        of because it's stopped in a debugger)
        then apps exit.
        This is bad is the app doesn't checkpoint and has been
        running for a long time.
    New: the client passes its PID to the app.
        The app periodically (10 sec) checks that the process still exists.
    Notes:
    - For backward compatibility (e.g. new API w/ old client,
        or vice versa) the client still sends heartbeats,
        and the API checks heartbeats if the client doesn't pass a PID.
    - The new mechanism works only if the client's PID isn't assigned
        to a new process within 10 secs of the client exiting.
        Windows 2000 reuses PIDs immediately, so check for Win2K
        and don't use this mechanism if so.

TODO: For Unix multithread apps,
    critical sections aren't currently being enforced.
    Need to fix this by masking signals.


svn path=/trunk/boinc/; revision=26147
2012-10-11 16:41:31 +00:00
David Anderson 925f029556 - Unix startup script fixes, from Andrew Stevenson
svn path=/trunk/boinc/; revision=26140
2012-09-22 20:29:21 +00:00
David Anderson f0b331e0d2 - client: MAXPATHLEN tweak
svn path=/trunk/boinc/; revision=26135
2012-09-21 16:17:42 +00:00
Charlie Fenton 6b2268e0d9 Mac: Fix build breaks
svn path=/trunk/boinc/; revision=26134
2012-09-21 09:02:14 +00:00
David Anderson aa289f0916 - A bunch of tweaks from Steffen Moller, e.g. using MAXPATHLEN
svn path=/trunk/boinc/; revision=26133
2012-09-21 03:52:24 +00:00
David Anderson fdf6629f4c - client simulator compile fix
svn path=/trunk/boinc/; revision=26131
2012-09-20 16:37:55 +00:00
David Anderson b9f138b4f4 - client: message tweak
svn path=/trunk/boinc/; revision=26129
2012-09-20 06:51:01 +00:00
David Anderson b2f9e30570 - scheduler: fix bug that cause NCI to be sent even when
client is not requesting work
- client: parse the <vbox_window> option in cc_config.xml


svn path=/trunk/boinc/; revision=26127
2012-09-19 23:21:04 +00:00
David Anderson 5e5ec6f367 - client: enforce excluded app at startup
- win compile fix

svn path=/trunk/boinc/; revision=26120
2012-09-16 20:22:15 +00:00
Rom Walton 26f9e380d9 - client: Initialize the total mem size_t.
svn path=/trunk/boinc/; revision=26116
2012-09-14 18:00:06 +00:00
Charlie Fenton aff3b7675c client: Don't support CUDA on dual-GPU MacBooks with automatic GPU switching to save battery power
svn path=/trunk/boinc/; revision=26088
2012-09-12 10:05:41 +00:00
Rom Walton 2882d5bc29 - client: initialize memfree and memtotal before use for Nvidia
cards.  It appears that the Nvidia API was only setting 32-bits
        of the 64-bit value.  The remaining 32-bits were whatever
        was on the stack.
        
    client/
        gpu_nvidia.cpp

svn path=/trunk/boinc/; revision=26084
2012-09-10 17:56:09 +00:00
Charlie Fenton a02ceae225 client: work around a nasty bug which crashes OSX (!) on some dual-gpu MacBooks with CUDA
svn path=/trunk/boinc/; revision=26082
2012-09-08 13:04:37 +00:00
David Anderson 19602f45f0 - admin web: improve script for browsing credit info
- client: add a coproc-missing message


svn path=/trunk/boinc/; revision=26074
2012-09-06 03:58:24 +00:00
David Anderson b412b9d172 - client: fix bug that broke file signing with X.509 certificates.
From matszpk.  Fixes #1168.


svn path=/trunk/boinc/; revision=26071
2012-09-02 20:05:20 +00:00
David Anderson 0483da30f4 - server: compile fix
- server: add nfiles_on_host(),
    a support function for "locality scheduling lite".


svn path=/trunk/boinc/; revision=26061
2012-08-26 21:24:18 +00:00
Rom Walton 5a6b02985d - client: streamline the console detach process under Windows.
svn path=/trunk/boinc/; revision=26057
2012-08-22 21:58:55 +00:00
David Anderson e79d3ea4c8 - client: change the way project disk share is computed.
- Allow projects to report "desired disk usage" (DDU).
        If the client learns that a project wants disk space,
        it can shrink the allocation to other projects.
    - Base share computation on DDU rather than disk usage.
    - Introduce the notion of "disk resource share".
        This is defined (somewhat arbitrarily) as resource share
        plus 1/10 of the largest resource share.
        This is intended to ensure that even zero-share projects
        get enough disk space to store app versions and data files;
        otherwise they wouldn't be able to compute.
- server: use host.d_boinc_max (which wasn't being used)
    to start d_project_share reported by client.
- volunteer storage: change the way hosts are allocated to chunks.
    Allow hosts to store several chunks of the same file, if needed


svn path=/trunk/boinc/; revision=26052
2012-08-22 04:02:52 +00:00
David Anderson 446bc4ca28 - client: take GPU exclusions into account when making
initial work request to a project
- client: put some casts to double in NVIDIA detect code.
    Shouldn't make any difference.
- volunteer storage: truncate file to right size after retrieval


svn path=/trunk/boinc/; revision=26051
2012-08-20 23:41:27 +00:00
David Anderson 52068b5f2d - client: print log msgs (enabled by task_debug) if the client
times out on quitting or aborting a task, and has to kill it.
- volunteer storage: bug fixes


svn path=/trunk/boinc/; revision=26050
2012-08-20 19:48:57 +00:00
Charlie Fenton eb40422c34 client: If OpenCL detection gets an error for a platform or device, finish detection of the remaining platforms and / or devices
svn path=/trunk/boinc/; revision=26047
2012-08-20 10:04:19 +00:00
David Anderson 4fea52c6f2 - client: if a project has excluded GPUs of a given type,
allow it to fetch work of that type if the # of runnable
    jobs it <= the # of non-excluded instances (rather than 0).


svn path=/trunk/boinc/; revision=26045
2012-08-18 23:26:10 +00:00
David Anderson 8290ce1d11 - volunteer storage stuff
svn path=/trunk/boinc/; revision=26015
2012-08-13 23:15:50 +00:00
David Anderson 25c2f6b49c - client: treat all 4xx HTTP errors as permanent
- code cleanup
- API: increase a buffer in timer_handler() from 256 to 512.


svn path=/trunk/boinc/; revision=26012
2012-08-13 18:23:20 +00:00
David Anderson afb86208d3 - client: Android-related tweaks, from Joachim
svn path=/trunk/boinc/; revision=26007
2012-08-11 04:52:53 +00:00
David Anderson 9fa75d5044 - client: tweak to the above: never ask for work if buffer > max.
This is needed to prevent projects that use next_rpc_delay
    from queuing unbounded work.


svn path=/trunk/boinc/; revision=26003
2012-08-10 18:49:22 +00:00
David Anderson ff1a391ced - client: when we're making a scheduler RPC
for a reason other than work fetch,
    and we're deciding whether to piggyback a work request,
    skip the checks for hysteresis (buffer < min)
    and for per-resource backoff time.
    These checks are there only to limit the rate of RPCs,
    which is not relevant since we're doing one any.

    This fixes a bug where a project w/ sporadic jobs specifies
    a next_rpc_delay to ensure regular polling from clients.
    When these polls occur they should request work regardless of backoff.


svn path=/trunk/boinc/; revision=26002
2012-08-10 18:29:00 +00:00
David Anderson d085bc4ee6 - Client/manager: there was a bug because some code was writing
"cpu" in XML, and other code was looking for "CPU".
    To fix this and prevent similar problems,
    processor type names are now encapsulated in proc_type_name_xml().
    Code should use this rather than having hard-wired names.
    Redefine: GPU_TYPE_* as macros that call proc_type_name_xml().


svn path=/trunk/boinc/; revision=25996
2012-08-08 23:09:43 +00:00
David Anderson 26d702789c - client: fix error in runtime estimation for active tasks
svn path=/trunk/boinc/; revision=25987
2012-08-06 23:25:31 +00:00
David Anderson e20c9a42b7 - client: other Android stuff, from Joachim
svn path=/trunk/boinc/; revision=25983
2012-08-04 00:56:08 +00:00
David Anderson 22f93cf009 - Client: initial checkin for Android version. From Joachim Fritzsch.
svn path=/trunk/boinc/; revision=25982
2012-08-04 00:27:32 +00:00
David Anderson d319139186 - client: improve "new version available" notice
svn path=/trunk/boinc/; revision=25888
2012-07-23 22:29:40 +00:00
David Anderson 555cecbcae - client: don't request work for backup project for a processor type
unless there are idle instances of that type
        

svn path=/trunk/boinc/; revision=25886
2012-07-22 06:18:24 +00:00
David Anderson 11c2fdc36d - client simulator: fix build breaks
svn path=/trunk/boinc/; revision=25885
2012-07-22 03:54:10 +00:00
Rom Walton fc1cfc00e8 - client: Re-introduce the WM_QUERYSESSIONEND window message handler to
the power management window proc, it was removed during one of the Win9x
        code scrubs.  When we see it, inform the client it is time to shutdown.

    client/
        sysmon_win.cpp

svn path=/trunk/boinc/; revision=25882
2012-07-18 15:17:30 +00:00
David Anderson 8b67c32187 - client: if we get a job for which a GPU is missing,
keep the RESULT record so that we can report it to the scheduler.
		Otherwise we'll keep getting the same job if the project has
		<resend_lost_results> set.

svn path=/trunk/boinc/; revision=25879
2012-07-18 01:42:08 +00:00
David Anderson 028d4d9a36 - client: delete sticky files when reset project
svn path=/trunk/boinc/; revision=25878
2012-07-17 21:45:19 +00:00
David Anderson 490b740682 - web: improve forum pagination
svn path=/trunk/boinc/; revision=25863
2012-07-11 19:24:28 +00:00
David Anderson 6a8075046b - Unix: include db/boinc_db_types.h in installed headers
- client: small code cleanup, no functional change


svn path=/trunk/boinc/; revision=25857
2012-07-10 17:28:04 +00:00
David Anderson 68f9880615 - client: remove "device" entry from CUDA_DEVICE_PROP,
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
2012-07-05 20:24:17 +00:00
David Anderson f9a9c3090f - Client (Win): in file_size(), use _stat64() instead of stat().
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
2012-07-03 22:36:59 +00:00