Commit Graph

935 Commits

Author SHA1 Message Date
David Anderson 3ad73d70ba - client: redefine "overworked" as
debt < -1.5 * work_buf * cpu_sched_period
- web: on team page, link to cross-project team stats sites

svn path=/trunk/boinc/; revision=17152
2009-02-05 19:40:01 +00:00
David Anderson 7d1038f940 - API: possible compile fix for OS/2
svn path=/trunk/boinc/; revision=17002
2009-01-23 20:30:34 +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 312ffba708 - API: remove BOINC_OPTIONS::worker_thread_stack_size
- web: check whether to show profile in separate function
    from displaying profile; eliminate double headers
- scheduler: finish purge of redundant arguments

svn path=/trunk/boinc/; revision=16726
2008-12-19 18:14:02 +00:00
David Anderson e7270c7f96 - API: add "normal_thread_priority" to BOINC_OPTIONS.
If set, the worker thread runs at normal priority on Win.
    May be useful for CUDA apps.

svn path=/trunk/boinc/; revision=16705
2008-12-17 00:49:50 +00:00
David Anderson a3b6ddf6ff - API: free project prefs before parsing init file
svn path=/trunk/boinc/; revision=16479
2008-11-11 23:39:00 +00:00
David Anderson ae826ef2eb - API: remove debugging printf from trickly down code
- API: use non-verbose option to zip
- scheduler: if multiple_client_per_host is set,
    don't mark results as over if get repeat CPID

svn path=/trunk/boinc/; revision=16445
2008-11-07 04:13:08 +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
David Anderson f17a800807 - API: in boinc_exit(), release the lockfile only if
we're the main program (otherwise we didn't lock it in
    the first place, and a crash results).  From Artyom Sharov.
- scheduler: add support for the GCL simulator,
    which uses special versions of backend programs
    that use virtual time,
    and that wait for signals instead of sleep()ing.

    To compile:
        make clean
        configure CXXFLAGS="-DGCL_SIMULATOR"
        make

svn path=/trunk/boinc/; revision=16038
2008-09-22 20:33:59 +00:00
Rom Walton b6b14154fe Rom 13 Aug 2008
- SAMPLES: Add all the samples to the BOINC solution and delete the
        old solution.
    - LIB: Clean up a bunch of warnings.
    
    api/
        texfont.C
    lib/
        crypt.C
    lib/
        filesys.C
    samples/wrapper/
        wrapper.C
    win_build/
        boinc.sln
        glut.vcproj
        image_libs.vcproj
        jpeglib.vcproj
        libboinc_staticcrt.vcproj
        libboincapi.vcproj
        libboincapi_staticcrt.vcproj
        libgraphics2.vcproj
        multi_thread.vcproj
        sleeper.vcproj
        uc2.vcproj
        uc2_graphics.vcproj
        upper_case.vcproj
        worker.vcproj
        wrapper.vcproj

svn path=/trunk/boinc/; revision=15819
2008-08-13 17:26:26 +00:00
David Anderson cd4cf976ea - API (Windows): call mouse-handling functions with
coords relative to window, not screen


svn path=/trunk/boinc/; revision=15764
2008-08-06 20:44:26 +00:00
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 be8638f095 svn path=/trunk/boinc/; revision=15694 2008-07-28 02:13:35 +00:00
David Anderson 796fdd51d9 - API: small additions to graphics stderr messages
svn path=/trunk/boinc/; revision=15693
2008-07-28 02:09:44 +00:00
David Anderson aaaa00ee44 - API: read heartbeat messages only if options.check_heartbest is set.
Otherwise, in compound apps we'll have both monitor and worker
    reading the messages; this is a race condition
    and will lead to spurious "no heartbeat" exits.

svn path=/trunk/boinc/; revision=15548
2008-07-03 19:40:49 +00:00
David Anderson 16b1305db7 - server code: at some point I made a global var "SCHED_CONFIG config",
mostly so that the parse function could assume
    that everything was initially zero.
    However, various back-end functions pass around SCHED_CONFIG&
    as an argument (also named "config").
    This creates a shadow, which is always bad.
    Worse is the possibility that some projects have back-end programs
    that have a SCHED_CONFIG variable that's automatic,
    and therefore isn't zero initially,
    and therefore isn't parsing correctly.

    To fix this, I changed the 2 vectors in SCHED_CONFIG into pointers,
    and have the parse routine zero the structure.
    I was tempted to remove the SCHED_CONFIG& args to back-end functions,
    but this would have broken some projects' code.
    I did, however, change the name from config to config_loc
    to avoid shadowing.

    Also fixed various other compiler warnings.

svn path=/trunk/boinc/; revision=15541
2008-07-02 17:24:53 +00:00
David Anderson 6e731f0b7a - API, Unix: when boinc_finish(x) is called, exit with code x
even if signals happen in the atexit() handling
- API: don't print XML parse warnings for init_data.xml file

svn path=/trunk/boinc/; revision=15454
2008-06-23 19:51:07 +00:00
David Anderson 8a99ca794a - API: compile fix
svn path=/trunk/boinc/; revision=15447
2008-06-23 15:36:51 +00:00
David Anderson 98875fe047 Changed deliberate segfault into an assert+return so segfault won't occur
in release code.


svn path=/trunk/boinc/; revision=15432
2008-06-19 01:13:51 +00:00
David Anderson 796a8ef835 - change EXIT_ABORTED_VIA_GUI to EXIT_ABORTED_BY_CLIENT
- change ERR_CHILD_FAILED TO EXIT_CHILD_FAILED
    (it's an exit code, not a function error code)
- client: reduce severity of benchmark error
- scheduler: compile fix

svn path=/trunk/boinc/; revision=15423
2008-06-18 16:43:05 +00:00
David Anderson 3eaff2b345 - API/runtime system: remove "fraction done update period" stuff.
This was always 1 second, which is fine.


svn path=/trunk/boinc/; revision=15394
2008-06-12 18:35:19 +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
David Anderson 5a9d11898b - API: compile fix
svn path=/trunk/boinc/; revision=15202
2008-05-14 20:30:56 +00:00
David Anderson e6a5d0cbfb - scheduler: add new log flags debug_edf_sim_workload, debug_edf_sim_details
for getting info on EDF simulation;
    change output from seconds to hours
- API: remove extern "C" from graphics API
    (convince me it's needed before restoring)

svn path=/trunk/boinc/; revision=15148
2008-05-08 17:48:40 +00:00
Eric J. Korpela 8b72dc9370 - Added implementation of setenv() for systems without it.
- Fixed bug in x_opengl.C.  On systems where putenv() adds the string to
      the environment rather than copies it, the environment would end up
      containing a random peice of the stack where the DISPLAY variable had
      been temporarily stored.



svn path=/trunk/boinc/; revision=15134
2008-05-06 17:10:44 +00:00
Charlie Fenton 72df062b6c implement Mac CUDA detection; fix compiler errors and warnings; change boinc_cmd to boinccmd/
svn path=/trunk/boinc/; revision=15111
2008-05-01 09:25:51 +00:00
Rom Walton 7da4959dff - API: Fix build break from my last check-in.
api/
        graphics2_unix.C
        graphics2_win.C

svn path=/trunk/boinc/; revision=15108
2008-04-30 19:27:24 +00:00
Rom Walton 4ee6262ca7 - API: If the diagnostics framework hasn't been initialized for
the graphics application, initialize it.
        
    api/
        graphics2_unix.C
        graphics2_win.C

svn path=/trunk/boinc/; revision=15106
2008-04-30 05:50:10 +00:00
Charlie Fenton 291a192efe Graphics API: Add boinc_close_window_and_quit() API to UNIX / Mac lib.
svn path=/trunk/boinc/; revision=15004
2008-04-02 05:45:19 +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 06c1d1392f - graphics API: add a boinc_close_window_and_quit() function
svn path=/trunk/boinc/; revision=14987
2008-03-31 17:03:00 +00:00
David Anderson aa130ff063 svn path=/trunk/boinc/; revision=14983 2008-03-29 22:07:50 +00:00
David Anderson b91809d3c4 - try to get API to compile on Cygwin
svn path=/trunk/boinc/; revision=14982
2008-03-29 21:53:45 +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
Reinhard Prix ebcbbb657e fixed internal library dependencies in Makefile.am's
svn path=/trunk/boinc/; revision=14918
2008-03-15 03:26:14 +00:00
Rom Walton 169eb876a7 - API: Attempt to use the 'Global' tag first, if the API
returns an ERROR_ACCESS_DENIED error code fallback
        to the original shmem_name.
        
    api/
        graphics2_util.C
    lib/
        shmem.C

svn path=/trunk/boinc/; revision=14911
2008-03-14 02:41:56 +00:00
Charlie Fenton 3c5d7ada20 MGR: Fix flicker in projects tab website buttons. API: fix a compiler warning which was an actual logic error.
svn path=/trunk/boinc/; revision=14909
2008-03-14 00:41:14 +00:00
Rom Walton ec1082130a - API: Include 'Global\' in the shared memory segment name for worker and
graphics applications so that the memory can be shared across terminal
        server sessions.
    - API: Add some trace messages to window creation and shutdown events, it
        is all logged to stderr.
    - API: Add some trace messages for loading graphic files.
    - API: Add some trace messages for loading font files.
    - API: There can be only one hInstance and it is assigned to the app at
        startup via winmain(). Use it throughout the graphics2 impl.
    - CC: Use the service security token to startup worker applications.
    - MGR: Use the interactive security token to startup graphics
        applications.
    - LIB: Create two different logon methods, one for logging on interactively
        (graphics applications) and one for services (worker application).

    api/
        graphics2_util.C
        graphics2_win.C
        gutil.C
        txf_util.C
    client/
        app_start.C
    lib/
        proc_control.C, .h
    win_build/
        boincmgr_curl.vcproj

svn path=/trunk/boinc/; revision=14905
2008-03-13 21:18:04 +00:00
David Anderson e227059121 - Makefile for MinGW
svn path=/trunk/boinc/; revision=14883
2008-03-10 23:12:39 +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
Eric J. Korpela bd55372ebe Matched functions linkage in api/graphics2.h to those in api/graphics_api.h
svn path=/trunk/boinc/; revision=14849
2008-03-05 22:02:48 +00:00
David Anderson c8384113e4 - changes to many files to fix gcc4.3 compile
svn path=/trunk/boinc/; revision=14811
2008-02-27 23:26:38 +00:00
Charlie Fenton 3a19ffb623 Fixes for V6 graphics.
svn path=/trunk/boinc/; revision=14768
2008-02-21 10:50:59 +00:00
David Anderson 54519a4ee1 - Server: add "job assignment" feature.
Lets you assign a WU to a particular host,
    to one or all hosts belonging to a user or team, or to all hosts.
    See http://boinc.berkeley.edu/trac/wiki/AssignedWork
    Disabled unless you include <enable_assignment> in config.xml
    Uses a new DB table.
    Tested but only a little.
- Server: code cleanup; moved result-handling to a new file,
    and removed the PLATFORM_LIST arg to everything
    (put it in SCHEDULER_REQUEST instead)

svn path=/trunk/boinc/; revision=14767
2008-02-21 00:47:50 +00:00
Eric J. Korpela d1ff41df4d Added reduce_main.C to libboinapi
svn path=/trunk/boinc/; revision=14736
2008-02-13 19:20:34 +00:00
David Anderson 54dc8c531a - API: critical section begin/end calls can be nested
Fixes #508 (from Nicolas)

svn path=/trunk/boinc/; revision=14694
2008-02-06 20:39:10 +00:00
David Anderson a1664cc070 - scheduler: simplified Carl's checkin (avoid virtual destructors)
- API: small tweak for standalone

svn path=/trunk/boinc/; revision=14679
2008-02-05 21:26:43 +00:00
David Anderson 5efd1cf38a - graphics API: default max graphics CPU fraction is 0.2
(see accompanying changes in example app;
    app should parse project-specific prefs)

svn path=/trunk/boinc/; revision=14635
2008-01-29 19:51:26 +00:00
David Anderson f682236bd9 - API: fix Win build error
- API: fix Makefile.am
- add LGPL license on some files

svn path=/trunk/boinc/; revision=14629
2008-01-28 22:42:05 +00:00