Commit Graph

134 Commits

Author SHA1 Message Date
David Anderson 4f66bb4c95 - added copyright and license info to .C, .cpp, .h files
- scheduler: fix bug in adaptive replication:
    if send an unreplicated job to untrusted host,
    set both wu.target_nresults and wu.min_quorum to app.target_nresults.

svn path=/trunk/boinc/; revision=15762
2008-08-06 18:36:30 +00:00
David Anderson 13400c9516 Changes for multithread app support:
- update_versions: use __ (not :) as separator for plan class
- client: add plan_class to APP_VERSION;
    an app version is now identified by platform/version/plan_class
- client CPU scheduler: don't assume apps use 1 CPU
- client: add avg_ncpus, max_cpus, flops, cmdline to RESULT
- scheduler: implement app planning scheme

Other changes:

- client: if symlink() fails, make a XML soft link instead
    (for Unix running off a FAT32 FS)
- client: don't accept nonpositive resource share from AMS
- daemons and DB: check for error returns from enumerations,
    and exit if so.  Thus, if the MySQL server goes down,
    all the daemons will soon exit.
    The cron script will restart them every 5 min,
    so when the DB server comes back up so will the project.
- web: show empty max CPU % as ---
- API: get rid of all_threads_cpu_time option (always the case now)


svn path=/trunk/boinc/; revision=14966
2008-03-27 18:25:29 +00:00
David Anderson 95772cba77 - removed boinc_ncpus_available() and boinc_nthreads() calls.
The design has been changed to constant #threads per app version
    Various changes from Kevin Reed/WCG:
    - server: add workunit.rsc_bandwidth_bound: if nonzero,
        send this WU only to hosts with that much download bandwidth
    - assimilators: if a handler returns DEFER_ASSIMILATION,
        the WU remains in INIT state and will be handled when the
        next instance completes.
        Useful if you want the assimilator to see all instances.
    - scheduler: when setting result.outcome = DETACHED,
        set received_time to now
    - scheduler: removed the reliable_time and reliable_min_avg_credit
        options
    - scheduler/web: add optional <allow_non_preferred_projects>
        in project preferences.
        If present, user will accept work from non-selected apps
        if no work is available for selected apps
    - scheduler: improved messages for projects with multiple apps
    - scheduler: added config options
        <granted_credit_weight> and <granted_credit_ramp_up>.
        Used in calculating host.claimed_credit_per_cpu_sec,
        but I'm not sure how.
    - Added two new credit-granting formulas (validate_util.C):
        stddev_credit() and two_credit()
    - server DB: add rollback_transaction() and affected_rows() to DB_CONN

    NOTE: DB update required

svn path=/trunk/boinc/; revision=14870
2008-03-07 21:13:01 +00:00
David Anderson 1e5b72068e - make old-style graphics (though not supported) still compile
svn path=/trunk/boinc/; revision=14588
2008-01-17 18:09:30 +00:00
David Anderson deac50f8b1 - client: implement <start_apps_manually> for Windows too
- client: check /dev/input/mice/ for idle detection;
    apparently that's replaced /dev/mouse in Linux
    (from Toby Murray)
- API: make old-style graphics compile again

svn path=/trunk/boinc/; revision=14543
2008-01-13 04:16:58 +00:00
David Anderson 2be6f8e53a - Client: add <run_apps_manually> config flag.
This is for debugging apps (currently works only in Unix).
    What it does: when running an app,
    the client does everything except actually fork/exec the app,
    i.e. it sets up the slot dir, creates shared mem segment etc.
    It then continues as if the app were actually running,
    and you can then manually run your app under a debugger
    in the slot directory.
    Note: the client won't notice the termination of your app.
- API, Unix: in situations where the timer thread wants to exit
    (e.g. it notices a missing heartbeat).
    don't directly call boinc_exit(),
    since this touches data structures that the worker thread
    may be using concurrently.
    Instead, set a flag telling the worker thread to call boinc_exit()
    (which it will do from its signal handler)
    This is an attempt to fix problems reported by Bernd;
    I haven't tested it.
- scheduler: add config flag for uploading usage data
- web: show account key and weak account key on user page
- added some code for multithread support (not finished)

api/
    boinc_api.C


svn path=/trunk/boinc/; revision=14542
2008-01-13 00:12:14 +00:00
David Anderson d47c5c1e2f - API, Unix: fix bug where boinc_sleep() hangs forever.
This was because SIGALRM always interrupts sleep()
    and keeps boinc_sleep() stuck in its while loop.
    Solution: change boinc_sleep() so that it works even if
    rapid signals (e.g. interval timer) are happening
- API: remove deprecated graphics files from Makefile.
    Old-style graphics are no longer supported.
- web: add empty show_user_donations_private() to donations.inc

svn path=/trunk/boinc/; revision=14513
2008-01-09 17:32:02 +00:00
Frank Thomas fbcfeaf456 - Removed the svn:executable property from files that should not be executable,
like source code and text files. I skipped to check most files in html/
  and mac_*/ though.
- Added svn:executable to tools/watch_tcp because it has a shebang.


svn path=/trunk/boinc/; revision=13819
2007-10-10 09:25:40 +00:00
Frank Thomas 3bfc78b511 Updated the postal address of the Free Software Foundation in all license headers. See http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2007-October/008939.html for reference.
svn path=/trunk/boinc/; revision=13804
2007-10-09 11:35:47 +00:00
David Anderson 0a48da269d - API: initialize backwards_compatible_graphics to true.
NOTE: as of this checkin, applications built with the API
code in the trunk are assumed to do V6-type graphics.
If your app doesn't, then you must set
backwards_compatible_graphics to false
(and use boinc_init_graphics_options())


svn path=/trunk/boinc/; revision=13675
2007-09-26 17:06:50 +00:00
David Anderson f1f5930579 - client: removed everything related to screensaver
(deciding which app to use, implementing blanking interval, etc.)
    This logic is all now in the screensaver itself.
- GUI RPC: removed get/set screensaver mode RPCs
- API: added a "backwards_compatible_graphics" flag to BOINC_OPTIONS.
    V6 apps should set this.
    If set, the runtime library checks for graphics messages
    from the client, and launches/kills the graphics app (if any).
    The app will then work graphically with pre-V6 clients.
- removed some old files

svn path=/trunk/boinc/; revision=13651
2007-09-25 16:04:45 +00:00
David Anderson be9c1ec9b4 - API: initialize all fields on BOINC_OPTIONS.
Fixes a bug that caused crash on 64bit Linux
    (from M.F. Somers)

api/
    boinc_api.h

svn path=/trunk/boinc/; revision=12909
2007-06-12 18:01:27 +00:00
David Anderson b4087e0e1b svn path=/trunk/boinc/; revision=12850 2007-06-08 07:55:27 +00:00
David Anderson 8f25fdf2a1 David 14 May 2007
- API: Eric Myers reported that my 4 May checkin
        (which increased worker thread stack size to the limit
        returned by getrlimit())
        broke his app on several Linux platforms.
        So I added a worker_thread_stack_size element to BOINC_OPTIONS.
        If you want an increased stack size, set this.
    - web RPC: add <url> and <local_revision> elements to
        the XML returned by get_project_config.php

    html/user/
        sample_get_project_config.php
    api/
        graphics_impl.C


svn path=/trunk/boinc/; revision=12664
2007-05-14 19:52:00 +00:00
David Anderson 87fbd47b75 *** empty log message ***
svn path=/trunk/boinc/; revision=12187
2007-03-04 20:52:31 +00:00
David Anderson 984c5a635e *** empty log message ***
svn path=/trunk/boinc/; revision=11702
2006-12-19 22:52:58 +00:00
David Anderson d3b1c45d64 *** empty log message ***
svn path=/trunk/boinc/; revision=11634
2006-12-07 17:30:48 +00:00
David Anderson 5e406b783c *** empty log message ***
svn path=/trunk/boinc/; revision=11236
2006-10-03 15:43:38 +00:00
David Anderson 15fa53c622 *** empty log message ***
svn path=/trunk/boinc/; revision=10514
2006-06-26 17:09:23 +00:00
David Anderson 279172e807 *** empty log message ***
svn path=/trunk/boinc/; revision=10318
2006-06-12 20:09:19 +00:00
Rom Walton f91c1401dc *** empty log message ***
svn path=/trunk/boinc/; revision=10285
2006-06-09 16:25:13 +00:00
Charlie Fenton 4e56e102bb *** empty log message ***
svn path=/trunk/boinc/; revision=10282
2006-06-09 12:40:27 +00:00
David Anderson d1caa3b689 pass rsc_fpops_est to app
svn path=/trunk/boinc/; revision=10276
2006-06-09 02:33:00 +00:00
Eric J. Korpela 77ca32d7e2 *** empty log message ***
svn path=/trunk/boinc/; revision=10123
2006-05-11 18:28:35 +00:00
David Anderson 3a0a20ae0d *** empty log message ***
svn path=/trunk/boinc/; revision=10068
2006-05-01 05:54:52 +00:00
Rom Walton d6d5922904 *** empty log message ***
svn path=/trunk/boinc/; revision=9712
2006-03-23 03:05:59 +00:00
Charlie Fenton ae01b962ea *** empty log message ***
svn path=/trunk/boinc/; revision=9658
2006-03-16 08:51:34 +00:00
David Anderson 960d40f916 *** empty log message ***
svn path=/trunk/boinc/; revision=9654
2006-03-15 19:27:37 +00:00
Charlie Fenton b8c40b5a2a *** empty log message ***
svn path=/trunk/boinc/; revision=9650
2006-03-15 01:50:12 +00:00
David Anderson a180483343 api change
svn path=/trunk/boinc/; revision=9639
2006-03-13 20:45:08 +00:00
Rom Walton 0137d9f38d *** empty log message ***
svn path=/trunk/boinc/; revision=9632
2006-03-11 21:30:26 +00:00
Rom Walton 12ee0008ec *** empty log message ***
svn path=/trunk/boinc/; revision=9588
2006-03-02 08:28:23 +00:00
Charlie Fenton 4073eae69d *** empty log message ***
svn path=/trunk/boinc/; revision=9578
2006-02-28 09:53:10 +00:00
Charlie Fenton deaa508a7c *** empty log message ***
svn path=/trunk/boinc/; revision=9574
2006-02-28 01:57:55 +00:00
Rom Walton ec9b73480a *** empty log message ***
svn path=/trunk/boinc/; revision=9533
2006-02-23 07:54:11 +00:00
David Anderson c3425dbb6c let apps handle abort requests
svn path=/trunk/boinc/; revision=9400
2006-02-03 20:48:48 +00:00
David Anderson dbd7017ea9 bool->int in API
svn path=/trunk/boinc/; revision=9193
2006-01-06 23:38:49 +00:00
Bruce Allen 13e3b93cce Put prototype in the correct section.
svn path=/trunk/boinc/; revision=9188
2006-01-06 12:40:17 +00:00
Bruce Allen 4463b0948d Nasty bug in API lib. See checkin_nodes_2004 December 22.
Functions meant to be used from within C shoud never be
declared bool!

Fix: change boinc_is_standalone() to return int not bool.

Note: some API functions still return bools, but since E@H
doesn't use them and I am afraid of doing damage, I have
left them alone.

svn path=/trunk/boinc/; revision=9181
2006-01-06 09:02:26 +00:00
David Anderson a40fb4ca57 include integer ops in benchmark API
svn path=/trunk/boinc/; revision=8796
2005-11-03 05:31:21 +00:00
David Anderson f2d9aa4b8f *** empty log message ***
svn path=/trunk/boinc/; revision=8155
2005-09-23 20:59:39 +00:00
Charlie Fenton 08ccd747fd *** empty log message ***
svn path=/trunk/boinc/; revision=7807
2005-09-06 12:58:56 +00:00
David Anderson 0d4fae3a35 boinc_not_using_cpu() API
svn path=/trunk/boinc/; revision=7410
2005-08-17 21:05:26 +00:00
David Anderson ba945d2c72 API critical section calls
svn path=/trunk/boinc/; revision=7292
2005-08-12 21:24:07 +00:00
David Anderson a2ddb241a4 API bug fix
svn path=/trunk/boinc/; revision=7277
2005-08-11 21:26:02 +00:00
Charlie Fenton 3a5356ff4a *** empty log message ***
svn path=/trunk/boinc/; revision=6470
2005-06-28 09:56:10 +00:00
David Anderson 6722611151 *** empty log message ***
svn path=/trunk/boinc/; revision=6423
2005-06-24 04:34:45 +00:00
David Anderson 2224431435 *** empty log message ***
svn path=/trunk/boinc/; revision=6197
2005-05-20 00:48:52 +00:00
David Anderson 64b871f819 *** empty log message ***
svn path=/trunk/boinc/; revision=5962
2005-04-28 23:19:58 +00:00
David Anderson 7c0456340a *** empty log message ***
svn path=/trunk/boinc/; revision=5232
2005-01-28 01:58:11 +00:00