Commit Graph

108 Commits

Author SHA1 Message Date
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
Eric J. Korpela 8f3abcc835 - Added checks for net/*.h, arpa/*.h, netinet/*.h and code to figure out
which of those files to include
    - Modified MAC address check to work on some non-Linux unixes.
      (mac_address.cpp)
    - Added suggested change to "already attached to project" checking.
      (ProjectInfoPage.cpp)
    - changed includes of standard c header files to their c++ equivalents
      (i.e. replaced <stdio.h> with <cstdio>) for namespace protection.
    - replaced "using namespace std;" with more explicit "using std::function" in
      several files.
    - Fixed bug in checking whether the os is OS/2 and added conditional OS_OS2
      to the build environment. (boinc_platform.m4,configure.ac)
    - Changed build environment to not use -nostandardlibs unless we are using
      G++ and static linkage is specified. (configure.ac)
    - Added makefiles and package building files for solaris CSW package manager.
    - Fixed bug with attempting to find login name using logname. (configure.ac)
    - Added ifdef HAVE_* protection around some include files commonly found in
      sys.
    - Added support for unified binary for x86_64/i686-pc-solaris.
      (cs_platforms.cpp)
    - generate_host_cpid() now uses MAC address on non-linux unix.
      (hostinfo_network.cpp)
    - Macro BOINC_SET_COMPILE_FLAGS now doesn't check gcc only flags on non-gcc
      compilers. (boinc_set_compile_flags.m4)
    - Library compiles no longer depend upon the library extension or require
      the library to be prefixed with lib.
    - More fixes for fcgi builds.
    - Added declaration of "struct ether_addr" and ether_ntoa().  Have not yet
      implemented ether_ntoa() for machines that don't have it, or where it is
      buggy.  (unix_util.h)
    - Added FCGI::perror() which calls FCGI_perror(). (boinc_fcgi.{h,cpp})
    - Fixed library Makefiles so that all required headers get installed.


svn path=/trunk/boinc/; revision=17388
2009-02-26 00:23:23 +00:00
David Anderson b9fc36ef84 - GUI RPC: made password file read into function
- lib: minimized FCGI library

svn path=/trunk/boinc/; revision=17133
2009-02-03 21:22:50 +00:00
Eric J. Korpela 4e60ef3003 - STILL WORK TO BE DONE TO GET locale STUFF INSTALLED PROPERLY!!!
- Update to libtool 1.5.24
- build environment:  Major automake changes that I've been warning about
  for some time.
- Now uses libtool to build libraries.
- Builds separate boinc_fcgi and sched_fcgi libraries for use with 
  FCGI server components.
- New macro "BOINC_CHECK_LIB_WITH" that executes a "AC_CHECK_LIB" on
  a library only if --with-libname[=DIR] is specified on the configure
  command line.  This is to allow inclusion of libraries when the 
  ssl, gtk, wxWidgets, or other configuration is incorrect for static
  libraries.
- Added a lot of "--with-*" for some libraries that might be required for
  static builds.
- The sea directory has been moved to packages/generic.  Changes to sea
  and the associated scripts might be required to better make use of the
  staging mechanism and shared libraries.
- Fixed includes of boinc_fcgi.h in many files.
- Fixed places where FCGI_FILE needs to be used implicitly.
- Fixed missing define of _SC_PAGESIZE on hosts that define only
  _SC_PAGE_SIZE.
- Moved build of boinc_cmd (and source file) from lib to client



svn path=/trunk/boinc/; revision=16904
2009-01-13 23:06:02 +00:00
David Anderson 5ac0aee6ce - client: add OS name into the hash for host CPID
(for multi-OS hosts)
- scheduler: use sqrt(x) instead of x in stop-checking
    for single redundancy.

svn path=/trunk/boinc/; revision=16433
2008-11-05 20:27:04 +00:00
David Anderson 98cfb8d3b0 - rename .C files to .cpp so that Doxygen will work
svn path=/trunk/boinc/; revision=16069
2008-09-26 18:20:24 +00:00
Eric J. Korpela 40e243412d - Fixed fcgi builds to use an installed version of fcgi_stdio.h rather than
a modified boinc version.
    - Added new header "boinc_fcgi.h" to be used instead of "fcgi_stdio.h".
      This header defines I/O functions in the namespace FCGI rather than using
      redefined functions the way "fcgi_stdio.h" does.  This was causing a lot
      of headaches when both <cstdio> and "fcgi_stdio.h" was called.  Using
      overloaded functions fixes this problem, except when the only difference
      between functions is the return type (for example ::fopen() returns FILE*
      and FCGI::fopen() returns FCGI_FILE*).
    - Fixed some missing "#ifdef _WIN32" blocks in filesys.C



svn path=/trunk/boinc/; revision=15984
2008-09-09 19:10:42 +00:00
David Anderson 79d6e256d8 - compile fixes for Unix
svn path=/trunk/boinc/; revision=15961
2008-09-04 13:26:35 +00:00
David Anderson 096337a241 - Add support for code-signing using x509 certificates
(from Attila Marosi)


svn path=/trunk/boinc/; revision=15958
2008-09-04 12:50:54 +00:00
David Anderson f6b1ae85b9 - certificate stuff
svn path=/trunk/boinc/; revision=15957
2008-09-04 12:17:58 +00:00
David Anderson 4387e4491b - Fix emacs mode line in Makefile.am's
svn path=/trunk/boinc/; revision=15375
2008-06-08 22:18:52 +00:00
Eric J. Korpela 1f2d65bccb - Makefiles:
added client/scripts to default client build
    removed sea from the default clientgui build
    added locale/client to the default clientgui build
    moved installed headers from $(includedir) to $(pkgincludedir) which
       is $(includedir)/boinc by default.
    removed redefinitions of $(includedir) from Makefiles.
- configure:
    added locale/client/Makefile to AC_CONFIG_FILES


svn path=/trunk/boinc/; revision=15300
2008-05-28 01:38:39 +00:00
Eric J. Korpela 51e24737bd - Build fixes for non-Win32, non-Linux, non-MacOS systems.
- configure script:
        - Added checks for functions strdup(), strdupa(),
            daemon(), stat64(), strcasestr()
        - Fixed problems with kc_mysql.m4 and wxWidgets.m4 returning
            invalid CFLAGS and LIBS flags.
        - Fixed incorrect order of pthread flag checking on solaris.
    - New files: lib/unix_util.[Ch].  Currently contains implementation of
        daemon() for systems that lack it.
    - Access to binary files in /proc was failing on some systems when compiled
        with 64 bit file access.  Rearranged headers and defines to force 32bit
        file access in hostinfo_unix.C
    - all_tty_idle() didn't work as advertised on any system as far as I can
        tell.  I rewrote it to check ttys that are not named /dev/tty[1-9].
        The old implementation was modifying a statically allocated read-only
        string, (and crashing on some systems) anyway.
    - added implementation of non-standard function strcasestr() to str_util.C
    - added #define of MAP_FILE to shmem.C, because it is missing from most
        unix systems, (and is unnecessary on linux anyway).
    - other minor bug fixes.


svn path=/trunk/boinc/; revision=14996
2008-04-01 21:44:12 +00:00
David Anderson 671524df2a - Second pass at the above. We still need run_program() in util.C.
The problem was that there's a lot of extra stuff needed
    for running apps on Windows (e.g. related to sandboxing).
    This needed to be a new function.

svn path=/trunk/boinc/; revision=14879
2008-03-10 22:36:22 +00:00
David Anderson cc2f1a20a0 - lib: moved "run program as user" stuff to a separate file,
so it doesn't screw up the linkage of apps that don't use it
- start of server-side support for coprocessors

svn path=/trunk/boinc/; revision=14878
2008-03-10 21:59:27 +00:00
David Anderson c685f66384 - client: preliminary support for detecting and reporting coprocessors
(for now, CUDA devices)

svn path=/trunk/boinc/; revision=14876
2008-03-10 20:40:35 +00:00
Frank Thomas b46bda9d6f Added clean-local target to lib/Makefile.am to remove lib/boinccmd and
lib/boinccmd.unmodified on "make clean" and also added client/boinc.unmodified
and clientgui/boincmgr.unmodified to the respective clean-local targets.


svn path=/trunk/boinc/; revision=13772
2007-10-03 23:23:02 +00:00
David Anderson ef80e8576f - Added program sched/sched_driver.C.
This generates a sequence of scheduler requests,
    with host info taken from a file,
    that you can feed into the scheduler (cgi --batch)
    to simulate things like homogeneous redundancy
- Added args to XML_PARSER::skip_unexpected() to you can say
    whether to write messages to stderr for unparsed stuff.
    This is set to true if log_flags.unparsed_xml is set (client)
    or if debug_level is 3 (server)
- removed references to $(LIBRSA) in Makefile.am's

client/
    Makefile.am
    acct_mgr.C
    gui_rpc_server_ops.C
    log_flags.C
lib/
    Makefile.am
    app_ipc.C
    gui_rpc_client_ops.C
    parse.C,h
    prefs.C
sched/
    Makefile.am
    sched_config.C
    sched_driver.C

svn path=/trunk/boinc/; revision=13090
2007-07-03 21:55:50 +00:00
Charlie Fenton 6e7a4b2240 svn path=/trunk/boinc/; revision=12384 2007-04-17 09:11:31 +00:00
Charlie Fenton 9421bc866d *** empty log message ***
svn path=/trunk/boinc/; revision=12349
2007-04-12 00:05:52 +00:00
David Anderson 8ee50511de *** empty log message ***
svn path=/trunk/boinc/; revision=12277
2007-03-28 21:30:45 +00:00