Commit Graph

128 Commits

Author SHA1 Message Date
David Anderson c797441941 remove dependency of coproc.h on str_replace.h 2016-08-26 12:31:54 -07:00
David Anderson 99d7da00e7 Unix build: add str_replace.h to list of installed .h files 2016-08-26 11:50:31 -07:00
Rom Walton a2f58bf7c8 lib: Fix build break 2016-02-09 07:55:22 -05:00
David Anderson ea7edd75b3 Move sched_msgs.* from sched/ to lib/
Lets SCHED_MSG_LOG be used including only -lboinc, not -lsched.
This is a tactical move; SETI@home back-end code
uses SCHED_MSG_LOG and I need to make this work without -lsched,
which pulls in MySQL libraries which I don't want.
2015-09-08 11:28:06 -07:00
Rom Walton 6e6fc4f741 BUILD: Add missing CXX Flags options for SSL to crypt_prog 2015-01-20 08:23:33 -05:00
Rom Walton 9536e1d161 BUILD: Do not build libboinccrypt unless we are also building either the server or client software.
We should not require projects to build/install openssl for Android just so use libboinc and libboincapi.
2015-01-19 16:50:27 -05:00
Rom Walton 53067d700e lib: Fixes for newer GCC versions when compiling md5.c. 2014-08-26 12:21:00 -04:00
David Anderson 3913022bd5 Unix build: fix typo in lib Makefile, from Gianfranco 2014-08-11 11:30:34 -07:00
Eric J Korpela ede92572e9 AUTOMAKE: One more double-install prevented. 2014-06-23 15:05:44 -07:00
Eric J Korpela 7deacd455a AUTOMAKE: Prevent attempted double install of *_win.h 2014-06-23 15:00:27 -07:00
Eric J Korpela bac5f43443 Fixed missing continuation mark 2014-05-02 10:32:42 -07:00
U-X1\korpela 4a357acddc Changes for mingw32 cross compile 2014-04-29 07:50:33 -07:00
Eric J Korpela f6bfb14433 Fix for fcgi compiles. 2013-10-28 16:19:48 -07:00
David Anderson 96a85b4ab6 Move thread.cpp,h from lib/ to client/, to remove dependency on pthread in libboinc 2013-10-17 09:45:49 -07:00
David Anderson b2a6a6528d linux build: add -lpthread 2013-10-11 22:17:15 -07:00
David Anderson ebde7809ce client: preliminary implementation (commented out) of sub-second throttling 2013-09-20 14:30:04 -07:00
David Anderson c1ee47216b Move OpenCL-related code to a separate file 2013-08-25 14:13:14 -07:00
David Anderson b98bc309cc API: fix bug involving suspend and critical sections
Old: if the timer thread gets a <suspend> message while we're in
a critical section, it sets a "suspend_request" flag.
The timer then periodically (10X/sec) checks whether
suspend_request is set and we're no longer in a critical section;
if so it suspends the worker thread.

Problem (pointed out by Oliver): this doesn't work if the worker thread
is almost always in a critical section
(as is the case for GPU apps, which treat GPU kernels as critical sections).
The app never gets suspended.

New:
1) boinc_end_critical_section() checks suspend_request;
    if set, it calls suspend_activities()
2) On Unix, if suspend_activities() is called from the worker thread,
    it calls sleep() in a loop until the suspension is over.
    (Note: pthreads has no suspend/resume).
3) Add a mutex to protect the data structures shared between
    the timer and worker threads.

Oliver pointed out that
2013-06-05 15:22:39 -07:00
David Anderson ff261cb6df Condor interface: bug fixes; add request_gen script; add retire_batch command 2013-05-30 09:44:58 -07:00
David Anderson 8e2524f55f Unix build: Makefile changes for "make install", from Steffen Moeller
"make install" followed by make_project should now work
2013-05-20 15:19:13 -07:00
David Anderson f1c7b6a97d fix some Clang warnings; from Steffen Moeller 2013-05-20 12:58:52 -07:00
Eric J Korpela 7b8fae6b1e Fix for "make clean" not removing .a files in lib/ 2013-04-03 09:56:25 -07:00
Eric J Korpela 9b191c409a - Modifications to autoconf scripts for non-standard openssl installs 2013-03-05 14:17:54 +01:00
David Anderson caf56b8b6b - lib: change get_mac_address() to avoid sprintf(buf, "%s...", buf);
use strcat instead
- client: don't use get_mac_address() to create host CPIDs
    (we have plenty of other info to make them unique)
- storage stuff


svn path=/trunk/boinc/; revision=25269
2012-02-16 00:08:40 +00:00
David Anderson 57fc54ae53 - lib: move XML parse test program to its own file.
Note: XML_PARSER::parse_str() doesn't currently work right
    for something like <foo><a>xx</a></foo>.
    It should return "<a>xx</a>".
    TODO.


svn path=/trunk/boinc/; revision=24325
2011-10-03 21:43:34 +00:00
Rom Walton d4dd0ed53d lib: only build the static version of libboinc.
lib/
        Makefile.am

svn path=/trunk/boinc/; revision=24301
2011-09-27 16:34:31 +00:00
David Anderson 2fa6bc999e - lib: don't include thread.cpp;
not needed for server, and causes errors on some 64-bit Linux 


svn path=/trunk/boinc/; revision=24256
2011-09-22 06:09:26 +00:00
David Anderson f56020dd84 - lib: add generic interfaces for threads and thread synchronization
svn path=/trunk/boinc/; revision=24234
2011-09-19 05:48:43 +00:00
David Anderson 8ad9d7d98b - more code shuffling:
proc_control: controlling processes
    procinfo: enumerating and querying processes
    run_app_windows: launching apps as other users on Win


svn path=/trunk/boinc/; revision=24120
2011-09-02 18:23:13 +00:00
Charlie Fenton 5c02c6a01e lib, api: bring Xcode and make files into agreement
svn path=/trunk/boinc/; revision=24104
2011-09-01 09:02:54 +00:00
David Anderson 93735f7172 - client: XML-escape the contents of stderr files;
otherwise non-ASCII characters in client_state.xml
    make it invalid XML
- client: fix (I think) to scheduling logic.
    a job is preemptable if it's finished its time slice and
    Old: has checkpointed in last 10 sec
    New: has checkpointed since the end of the time slice


svn path=/trunk/boinc/; revision=23551
2011-05-17 00:31:41 +00:00
David Anderson 0ba3cc2d7b - client: shuffle code to move CONFIG and LOG_FLAGS
into lib/cc_config.h,
    in preparation for adding GUI RPCS


svn path=/trunk/boinc/; revision=23432
2011-04-25 03:18:26 +00:00
David Anderson 247413b291 - server/client: make a stripped-down OpenCL header file, lib/cl_boinc.h,
for the things that BOINC actually needs
    (fixes server compile problems)
- client: fix various compile errors in coproc_detect.cpp


svn path=/trunk/boinc/; revision=23310
2011-04-01 19:39:58 +00:00
David Anderson a0fd3445fc - wrapper: improve and bullet-proof the way we kill apps.
Win: enumerate all descendants, and kill them all TerminateProcess().
    Unix:
        send the main process a SIGTERM.
        Check once a sec for existence of descendants.
        if none, done
        If any still exist after 10 sec, kill all descendants
- wrapper fix bug in Win env var stuff
- scheduler: check for VBox version 3.2+ in app_plan()
    

svn path=/trunk/boinc/; revision=23085
2011-02-22 23:11:34 +00:00
David Anderson b418596cee - unix build: remove hardwired -ldl
svn path=/trunk/boinc/; revision=22860
2011-01-03 03:55:33 +00:00
David Anderson fac75370a8 - rename cal.h to cal_boinc.h to avoid name conflict
svn path=/trunk/boinc/; revision=22039
2010-07-22 20:08:33 +00:00
David Anderson fb851311e0 - server: various changes;
see http://boinc.berkeley.edu/trac/wiki/CreditNew

    Projects will need to update DB and recompile all back-end programs.

    Summary:
    - new way of computing credit
    - "reliable host" mechanism is per app version
    - "host punishment" mechanism is per app version
    - adjustment of wu.rsc_fpops_est provides the
        equivalent of per app version DCF
    - max jobs in progress is now per app
    - max jobs per RPC is now per app

    TODO:
    - reliable mechanism:
        - populate and use host_app_version.error_rate
        - populate host_app_version.turnaround
    - host punishment:
        - populate host_app_version.max_jobs_per_day
        - populate host_app_version.n_jobs_today
        - use app.max_jobs_per_day_init
    - job limits:
        - use app.max_jobs_in_progress, max_gpu_jobs_in_progress
        - use app.max_jobs_per_rpc
    - adjust wu.rsc_fpops_est
    - remove old credit stuff
        fpops_cumulative, credit_multiplier
        credit computation in scheduler

- AVERAGE class: use the Knuth algorithm (Wikipedia)


svn path=/trunk/boinc/; revision=21021
2010-03-29 22:28:20 +00:00
David Anderson 8062f21d59 - server credit stuff (partial checkin)
svn path=/trunk/boinc/; revision=20810
2010-03-09 04:15:10 +00:00
David Anderson 295d4b54ea - server: major improvements to locality scheduling from Einstein@home.
Triggering the work generator is now done via the DB
    instead of flat files.

    Since only E@h uses locality scheduling,
    I kept the DB changes in a separate file (db/schema_locality.sql).
    There's a new field in the workunit table,
    and that's a required update (in db_update.php)
- manager: compile fix


svn path=/trunk/boinc/; revision=20807
2010-03-05 22:55:16 +00:00
Bernd Machenschalk 994950d83d lib: add cal.h to install headers
svn path=/trunk/boinc/; revision=20245
2010-01-22 13:48:40 +00:00
David Anderson 62156200f4 - client and GUI RPC: add some plumbing for notices
svn path=/trunk/boinc/; revision=19973
2009-12-18 21:52:08 +00:00
David Anderson 67bc7dfc9b - unix: build fixes
svn path=/trunk/boinc/; revision=19755
2009-12-01 17:04:28 +00:00
David Anderson b29f920999 - Move URL-related code to a new file
- Remove stuff related to SOCKS version, since we only support 5

svn path=/trunk/boinc/; revision=19480
2009-11-05 18:02:51 +00:00
David Anderson fca2cb8016 - client: restore calDeviceGetInfo(), add its info to COPROC_ATI struct
(some plan class might need to know this).
    Code cleanup.

svn path=/trunk/boinc/; revision=19234
2009-10-02 22:58:03 +00:00
Eric J. Korpela e82aad226a Another build fix. This may break appication build if the apps depend upon
boinc_crypt.la to supply the CURL library names.


svn path=/trunk/boinc/; revision=18976
2009-09-01 22:30:56 +00:00
Eric J. Korpela 720fa9a3cb - libraries: Moved crypt.o out of libboinc and into libboinc_crypt.
Applications that need crypt.o will need to explicitly link
      libboinc_crypt.


svn path=/trunk/boinc/; revision=18595
2009-07-14 17:50:33 +00:00
David Anderson a71a03f698 - Mac install: fix things a better way
- install: don't install internal .h files
- scheduler: fix spurious "reached limit of 0 GPU tasks" message,
    slight code cleanup

svn path=/trunk/boinc/; revision=18480
2009-06-22 21:11:19 +00:00
David Anderson 9527cb6534 - install: don't install std_fixes.h or msg_queue.cpp
- remove some unused code
- scheduler: small code cleanup

svn path=/trunk/boinc/; revision=18465
2009-06-19 17:21:34 +00:00
David Anderson dfaf0023d4 - build system: don't install config.h
svn path=/trunk/boinc/; revision=18430
2009-06-16 19:28:08 +00:00
David Anderson 31b929ed67 - Unix build: make it work if "diff" is missing (??)
from Michael Tughan

svn path=/trunk/boinc/; revision=17821
2009-04-15 20:46:12 +00:00