Commit Graph

959 Commits

Author SHA1 Message Date
Rom Walton 675421d382 - WIN: Remove unused references to glaux.h and glaux.lib
api/
        boinc_gl.h
    win_build/
        *.vcproj

svn path=/trunk/boinc/; revision=18996
2009-09-02 23:00:10 +00:00
David Anderson 563a55f37e - client/libs/samples: remove "#define read _read" etc. from boinc_win.h
These cause problems when "read" is a member name, etc.
		Do these #defines, conditioned on _MSC_VER,
		in the files that actually need them.
	- don't include boinc_win.h from parse.h.
		principle of minimal inclusion

svn path=/trunk/boinc/; revision=18902
2009-08-22 17:00:19 +00:00
David Anderson 1dba786d7b - API: add boinc_elapsed_time() to get elapsed time since start of episode;
add APP_INIT_DATA::starting_elapsed_time to get
    elapsed time from previous episodes

svn path=/trunk/boinc/; revision=18535
2009-07-01 17:35:56 +00:00
David Anderson 10f9e11ee6 - lib: created a new file for declaring "replacements"
for functions like strlcpy() etc.
    config.h is included here rather than in str_util.h


svn path=/trunk/boinc/; revision=18437
2009-06-16 20:54:44 +00:00
David Anderson 18b5362c1d - Change Makefiles to use "$(LN) foo ." instead of "ln foo"
svn path=/trunk/boinc/; revision=18003
2009-05-05 09:16:57 +00:00
David Anderson fba2e5ee3d - Changes to get the client to build on IRIX:
don't use the variable name "sgi";
    include <xxx.h> instead of <cxxx>; the latter just adds
    overloaded functions that we avoid.

svn path=/trunk/boinc/; revision=17954
2009-04-30 21:48:20 +00:00
David Anderson e628dba3ed - graphics API: full-on 3D rotation of text
svn path=/trunk/boinc/; revision=17777
2009-04-10 05:34:24 +00:00
David Anderson 5800130fae - graphics API: add rotation arg to txf_render_string()
(from Carl C.)

svn path=/trunk/boinc/; revision=17774
2009-04-09 23:10:28 +00:00
Eric J. Korpela 3c58c38958 - API: Added new function boinc_set_credit_claim() for use by projects that
want to grant approximately fixed credits, but don't want to express them in 
    terms of FPOPS and IOPS.  This API just calls boinc_ops_cumulative(N*8.64000e+11,0).
    CPU intensive projects that use this API should still use the
    tools/calculate_credit_multiplier script in order to adjust their credit
    claims as processing times vary.


svn path=/trunk/boinc/; revision=17743
2009-04-08 00:50:39 +00:00
David Anderson 837d3fc0a1 - get_project_config.php: include plan classes in platform list;
i.e., list both win/x86 and win/x86 + NVIDIA.
    This will allow the manager to show which projects can
    use the hosts's coprocessors,
    and also graying out projects that require an absent coproc.
- fix compile warnings

svn path=/trunk/boinc/; revision=17735
2009-04-03 21:55:26 +00:00
David Anderson 640ba6dffa compile fix
svn path=/trunk/boinc/; revision=17689
2009-03-27 23:47:39 +00:00
David Anderson 68e2530b3a - API: add function boinc_msg_prefix() that returns
time of day and process ID.
    This should prefix all messages written to stderr
    by applications or by the runtime system.

svn path=/trunk/boinc/; revision=17687
2009-03-27 23:42:47 +00:00
David Anderson c1dce6425e - small code shuffle
- fix manager build on unix

svn path=/trunk/boinc/; revision=17650
2009-03-24 17:18:09 +00:00
David Anderson ae90eb4865 - API: more lockfile messages
svn path=/trunk/boinc/; revision=17647
2009-03-23 17:26:20 +00:00
David Anderson 6c4cc20aa1 - API: don't try to unlock lockfile if we failed to lock it
- API: more detailed message if failed to lock

svn path=/trunk/boinc/; revision=17645
2009-03-23 17:00:34 +00:00
David Anderson 5a5b386313 - client: garbage collect after scheduler RPC;
if project sent some irrelevant FILE_INFOs,
		this will avoid starting transfers for them.

svn path=/trunk/boinc/; revision=17644
2009-03-23 01:33:17 +00:00
David Anderson eb35639c97 - API: add some #ifdef'd debug messages
svn path=/trunk/boinc/; revision=17642
2009-03-20 23:02:31 +00:00
David Anderson 2a4daee8cf - API (win): TerminateProcess() apparently can return in some cases,
causing process to go into infinite "no heartbeat" loop.
    Try sleeping for 1 sec, then calling DebugBreak()


svn path=/trunk/boinc/; revision=17640
2009-03-20 21:05:26 +00:00
David Anderson 35a09b01ea svn path=/trunk/boinc/; revision=17406 2009-02-26 23:38:02 +00:00
David Anderson 6a8e754f62 - screensaver: show correct info if CPU throttling;
show correct window title;
		show "no projects" message.

svn path=/trunk/boinc/; revision=17405
2009-02-26 23:32:29 +00:00
David Anderson 019ab4cdfc - API: file descriptor leak in obscure case.
fixes #103


svn path=/trunk/boinc/; revision=17391
2009-02-26 01:11:37 +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 b568b7dada - screensaver
svn path=/trunk/boinc/; revision=17302
2009-02-19 00:29:12 +00:00
David Anderson 1fc3722e71 - client: add SCHEDULER_OP::rpc_failed();
this gets called when the op fails, either at initialization or later on;
        it clears the project's sched_rpc_pending flag if needed.
        This fixes a bug that caused user-requested RPCs to retry every 10 seconds
        when the network is down.
    - client: if debt-adjust period is too long, reset accounting.
        Otherwise we'll get this infinitely.
    - API: all optional alpha argument to TEXTURE_DESC::draw()

svn path=/trunk/boinc/; revision=17195
2009-02-10 19:30:59 +00:00
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