Commit Graph

1136 Commits

Author SHA1 Message Date
Bernd Machenschalk 0220ab3319 - api: check return values of functions used in boinc_msg_prefix(),
return a (valid) empty string if an error occurred

svn path=/trunk/boinc/; revision=22781
2010-12-01 15:25:07 +00:00
Charlie Fenton ba7b2d6898 Remove BOINC_RCSID tags from more source files
svn path=/trunk/boinc/; revision=22739
2010-11-23 11:25:36 +00:00
David Anderson 4edfe2ec28 - client: small initial checkin for new scheduling system.
Keep track of per-project recent estimated credit

svn path=/trunk/boinc/; revision=22608
2010-10-29 23:41:34 +00:00
David Anderson d48e377e8a Win compile fix
svn path=/trunk/boinc/; revision=22367
2010-09-16 03:53:27 +00:00
David Anderson 1637c19e08 - API and sample apps: pass buf length arg to boinc_msg_prefix()
and use snprintf() to avoid overrun.
    Can't see why this could ever happen.
    Attempt to fix crash in E@h apps.

svn path=/trunk/boinc/; revision=22363
2010-09-15 23:03:30 +00:00
David Anderson 3dffe0a8bc - API: remove deprected stuff related to:
1) old-style apps with graphics in main program.
        No one should be using these anymore.
    2) writing init_data.xml in boinc_finish().
        This was used by deprecated "compound app" scheme
- scheduler: if request reports results that were previously reported,
    that's evidence that the previous reply was not received by client.
    It may have contained results.
    So set a "resend lost results" flag.

svn path=/trunk/boinc/; revision=22203
2010-08-11 22:02:41 +00:00
David Anderson ede7c8cea9 - web: right-align bbcode images
- API: warning fix

svn path=/trunk/boinc/; revision=22160
2010-08-07 03:33:25 +00:00
David Anderson 60c296338c - API: compile fix
svn path=/trunk/boinc/; revision=21801
2010-06-24 05:11:34 +00:00
David Anderson d5e035456d compile fixes
svn path=/trunk/boinc/; revision=21786
2010-06-21 23:36:01 +00:00
David Anderson 392f02f8b8 - API: add BOINC copyright notice to graphics2_win.cpp.
This file originally used code from the following tutorial,
    which shows how to open a window using GLUT:
    http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01
    The code has now been completely rewritten;
    in particular, it doesn't use GLUT anymore.
- scheduler: change default limit on #CPUs from 16 to 64

svn path=/trunk/boinc/; revision=21784
2010-06-21 21:14:34 +00:00
David Anderson b9cdeb73fa - sample apps: compile fixes
svn path=/trunk/boinc/; revision=21774
2010-06-18 20:02:35 +00:00
David Anderson fcd3eb4fda - API: make boinc_msg_prefix() thread-safe
svn path=/trunk/boinc/; revision=21765
2010-06-17 17:41:27 +00:00
David Anderson 2eef482a12 - API: fix bug that caused parallel apps to get compute error
when they were suspended without "leave in memory" pref
- user web: if in-progress result has credit, show it; fixes #998

svn path=/trunk/boinc/; revision=21748
2010-06-14 21:24:07 +00:00
David Anderson 50724b0ed9 - API: compile fixes for MinGW
svn path=/trunk/boinc/; revision=21522
2010-05-14 16:22:57 +00:00
Rom Walton e14e1cad34 - Remove BOINC_RCSID tags from source files, we are doing branching and tagging
properly.
        
    <Various Files>

svn path=/trunk/boinc/; revision=20873
2010-03-12 16:51:57 +00:00
Bernd Machenschalk 99d7de0508 fix to compile boinc_api.cpp on Windows
looks like copy/paste error, retval is not defined there
    David, please review & change if necessary

svn path=/trunk/boinc/; revision=20802
2010-03-05 14:14:36 +00:00
David Anderson e8f8c7bde2 - API: Win: resume other threads before exiting from timer thread.
Attempt to fix E@h bug.
- client: fix messages: asking for X instances doesn't mean
    that X instances are idle

svn path=/trunk/boinc/; revision=20772
2010-03-02 18:58:34 +00:00
David Anderson a60e21ce89 - API: in txfRenderString, replace non-ASCII chars with ?.
Otherwise it calls abort()!

svn path=/trunk/boinc/; revision=20648
2010-02-18 22:36:07 +00:00
David Anderson 7d229ccf4b - graphics API: if font missing, find one that isn't (from Kevin)
svn path=/trunk/boinc/; revision=20350
2010-02-01 19:18:23 +00:00
David Anderson e8f230b4a3 - API: fix crashing bug. There was a leftover memset(aid, 0)
in boinc_parse_init_data_file()
- client sim: make it work again

svn path=/trunk/boinc/; revision=20199
2010-01-19 18:43:17 +00:00
David Anderson f48de8625a svn path=/trunk/boinc/; revision=20184 2010-01-16 23:52:05 +00:00
David Anderson 0255297345 - API: if app can't acquire lock file, tell the client not
to restart app for 10 minutes.
    Hopefully what will happen is:
    - another instance of app is running in slot dir
        (shouldn't happen, but sometimes does)
    - that app will eventually finish, and will write
        a checkpoint file saying so.
        It will call boinc_finish(0), but the client won't notice
        that it has exited.
    - the next time the client starts the app,
        it will acquire lock, see that it's done,
        and call boinc_finish(0).
        This time the client will notice,
        and the job will be reported as correct.
    The downside to all this is that the client won't know
    that the CPU is in use, and will schedule NCPUS jobs.

svn path=/trunk/boinc/; revision=20128
2010-01-11 20:52:55 +00:00
David Anderson e50bca6ca5 svn path=/trunk/boinc/; revision=20057 2010-01-01 05:53:38 +00:00
David Anderson da1476f47d compile fixes
svn path=/trunk/boinc/; revision=20056
2010-01-01 05:12:03 +00:00
David Anderson d5a8f6f1e1 - API: add boinc_init_parallel().
This is like boinc_init() but for multithread apps.
    Unlike boinc_init(), it suspends/resumes all threads in the app,
    not just one.
    In Unix, this is done by forking,
    and having the parent process handle suspend/resume messages
    and suspend/resume the child using signals
    On Win, there's some nasty code that enumerates all
    threads in the whole system, and suspends/resumes
    those in a particular process.


svn path=/trunk/boinc/; revision=20054
2010-01-01 02:50:56 +00:00
David Anderson a3f80676b7 - API and client: add an API function boinc_temporary_exit(dt).
This exits the app with status zero and no finish file,
    so the client will restart it.
    It creates a file "temporary_exit" containing dt.
    The (new) client reads this file and will postpone
    scheduling the job again for dt seconds.
    Old clients will treat it as a premature exit,
    and potentially try to reschedule the job immediately.

    This function is intended for GPU applications that
    fail to allocate GPU RAM,
    presumably because a non-GPU application has it allocated.
    We don't want the job to fail,
    and we want to wait for a while before trying the allocation again.

svn path=/trunk/boinc/; revision=19879
2009-12-13 05:16:40 +00:00
Bernd Machenschalk cdcbfc29fd api: updates for building Win32 libs & API with MinGW gcc
added Makefile.mingw used for Einstein@home in lib/ as an
_alternative_ to api/Makefile.mingw

svn path=/trunk/boinc/; revision=19583
2009-11-16 13:13:42 +00:00
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
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
David Anderson ebed572d4f - API: allow Win apps to have icon
svn path=/trunk/boinc/; revision=14625
2008-01-28 15:48:09 +00:00
Charlie Fenton 783e2f7773 GFX API: Fix to makefile for Macintosh (from Bernd Machenschalk).
svn path=/trunk/boinc/; revision=14614
2008-01-24 01:06:55 +00:00
Charlie Fenton ecd584b4a1 GFX API: Fix to makefile for Macintosh (from Bernd Machenschalk).
svn path=/trunk/boinc/; revision=14613
2008-01-23 20:26:09 +00:00
Charlie Fenton 0a80a0c3e3 GFX API: change args passed to GlutInit() to be as specified in the man page.
svn path=/trunk/boinc/; revision=14604
2008-01-20 00:02:19 +00:00
Charlie Fenton dd2211f1f6 GFX API: change args passed to GlutInit() to be original unmodified args which were passed to the application, as specified in the man page
svn path=/trunk/boinc/; revision=14602
2008-01-19 04:11:20 +00:00
Charlie Fenton 34082218bf API: fix compiler warning.
svn path=/trunk/boinc/; revision=14589
2008-01-18 02:07:07 +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
Charlie Fenton c44635f5ab Fix Compiler warning.
svn path=/trunk/boinc/; revision=14553
2008-01-15 00:12:08 +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
David Anderson d9a663a42e - API: call update_app_progress() only from the timer thread.
Previously it was called from both timer and worker thread,
    with no synchronization.  Bad.
    boinc_finish(): sleep for 2 seconds, enough to ensure that
    the timer thread sends the final messages.
- API: a compile flag GETRUSAGE_IN_TIMER_THREAD selects
    how to get CPU time; by default set only for Mac OS X
- scheduler: cap #CPUs scaling for <max_wus_per_host> at 8

svn path=/trunk/boinc/; revision=14495
2008-01-08 18:58:44 +00:00
David Anderson ade36217d2 - API: fix to changeset 14462: I put the getrusage() in the wrong place
svn path=/trunk/boinc/; revision=14484
2008-01-07 23:10:17 +00:00
David Anderson 4680b446ce - API: on Mac, call getrusage() from timer thread
(since calling it from worker thread causes crashes).
    On Linux, call getrusage() from the worker thread
    (since calling it from the timer thread returns zero on some systems).
- stripcharts: make it work even if Perl is not in path (from Eric Myers)

svn path=/trunk/boinc/; revision=14462
2008-01-03 20:43:48 +00:00
David Anderson 9248b47032 - API: check for messages from client 10X a second;
this will allow smoother CPU throttling
- delete_file: bug fixes (from Nicolas Alvarez).  Fixes #78

svn path=/trunk/boinc/; revision=14434
2007-12-21 20:57:48 +00:00
David Anderson b42c68e5dd - API: switch back to structure where the worker thread
calls getrusage() in a signal handler to find its CPU time.
    Apparently there are some kernels and/or thread libraries
    where getrusage() does NOT return the total CPU time of
    all threads in the process,
    so in these cases calling it from the timer thread doesn't work.
    
    This was originally changed because of concerns that
    calling getrusage() in a signal handler was dangerous;
    we'll see if any problems re-emerge.

    The alternative of reading /proc/PID/stats doesn't seem viable;
    format may not be standardized.

svn path=/trunk/boinc/; revision=14433
2007-12-21 19:23:22 +00:00
David Anderson 91936bad72 svn path=/trunk/boinc/; revision=14328 2007-11-30 04:14:48 +00:00
David Anderson 74c2782624 - API: code cleanup
removed references to "graphics thread"
    removed HANDLE timer_quit_event
    removed enable_heartbeat/disable_heartbeat messages
        (not sure what the ideas was, but no longer exists)
    removed heartbeat_active flag (use options.check_heartbeat instead)
    read heartbeat-channel messages even if heartbeat disabled
        (since we use that channel for WSS messages too)
- client: remove ACTIVE_TASK::thread_handle (not used)

svn path=/trunk/boinc/; revision=14323
2007-11-29 19:48:04 +00:00
David Anderson b54abc426b - API graphics: changes to REDUCED_ARRAY to support new S@h graphics
- API: fix format codes in stack trace printf

svn path=/trunk/boinc/; revision=14309
2007-11-27 19:28:57 +00:00
Charlie Fenton f5114ac1c5 Mac: Add 64-bit Intel support to Client and libraries.
svn path=/trunk/boinc/; revision=14225
2007-11-16 13:27:35 +00:00
David Anderson 785457ce35 - API: in update_app_progress(), use %e instead of %f everywhere;
this limits the length of the generated string
    ~12 chars even for big/small numbers.
    Also reduce buffer size from 8000 to 256;
    default thread stack size might not accommodate 8000 + extra.

svn path=/trunk/boinc/; revision=14112
2007-11-07 18:53:36 +00:00
David Anderson f46a06305d - user web:
- changed Private Messages interface so that you see
        all your messages on one page,
        and remove various redundant links
        (like the Inbox link on the Inbox page)
    - changed links to buttons for moderator functions

svn path=/trunk/boinc/; revision=14019
2007-11-01 23:04:39 +00:00
David Anderson dbedc0cd72 - API: compile fix for systems without strlcat()
svn path=/trunk/boinc/; revision=14012
2007-10-31 20:52:25 +00:00
David Anderson d43c0e1786 - API: when creating message strings for CPU time etc.,
use strlcat() instead of strcat().
    Einstein@home has seen some SEGVs in this function.
    I suspect that it's getting 1e304-type values
    (why? possible bugs in getrusage-related code, still)
    and that these cause long strings that overflow the message buffer.

svn path=/trunk/boinc/; revision=13999
2007-10-30 23:03:21 +00:00
Rom Walton 23609b858b - DIAG: Remove references to diagnostics_set_thread_name().
api/
        boinc_api.C
        windows_opengl.C
    lib/
        diagnostics.h
        diagnostics_win.C

svn path=/trunk/boinc/; revision=13956
2007-10-24 23:49:52 +00:00
David Anderson 7c32018889 - API: fixes for SETI@home
svn path=/trunk/boinc/; revision=13930
2007-10-22 23:12:42 +00:00
David Anderson 615e108441 - API: fix bug introduced in 13696 causing no graphics on Linux
svn path=/trunk/boinc/; revision=13922
2007-10-22 03:15:51 +00:00
Charlie Fenton 2ed89c4c65 API, Unix: call getrusage() from inside boinc_worker_thread_cpu_time() and make worker_thread_ru a local stack variable to avoid potential problems with thread preemption.
svn path=/trunk/boinc/; revision=13880
2007-10-17 19:53:51 +00:00
Charlie Fenton 50c2ab3847 Win V6 SCR compatibility: save, restore gfx window size & position.
svn path=/trunk/boinc/; revision=13856
2007-10-17 00:53:15 +00:00
David Anderson b079d40cb9 - API, Unix: call getrusage() from the timer thread,
not the worker signal handler.
    There's no reason to call it from the signal handler -
    it returns the CPU for the entire process, not the calling thread.
    And it may be asynch-signal-handler-unsafe.
- API: comment out checks for bad CPU times.
    I don't think this is needed now, and in some cases it's wrong
    (multi-threaded apps can accumulate CPU faster than real time)
- API, Unix: in boinc_calling_thread_cpu_time(), don't retry getrusage().
- Bossa: switch to better class structure (suggested by Nicolas Alvarez).
    Haven't switched to mysqli yet, but will later.
    Also various other Bossa fixes

svn path=/trunk/boinc/; revision=13855
2007-10-16 23:02:13 +00:00
David Anderson 452ae11337 - API: handle wacky values in worker_thread_ru:
- check for infinity/NaN
    - check for CPU time decreasing
    - check for CPU time increasing faster than real time
    ... and deal with each of these in a hopefully reasonable way

svn path=/trunk/boinc/; revision=13847
2007-10-12 23:12:50 +00:00
David Anderson 028544e184 - API: get rid of getrusage_mutex to synchronize calls to getrusage()
and access to worker_thread_ru.
    This was being used in the worker signal handler,
    which is bad because pthread_mutex_lock() can allocate memory.
    I don't think this matters; at worst we might get
    CPU times off by < 1 sec.

svn path=/trunk/boinc/; revision=13844
2007-10-12 19:28:30 +00:00
Charlie Fenton 8396e06fc0 Mac V5 GFX API: Fix old zombie process bug (I hope). getPathToThisApp() should call pclose(), not fclose().
svn path=/trunk/boinc/; revision=13840
2007-10-12 06:22:58 +00:00
Charlie Fenton 3d4f4c1780 Mac V5 GFX API: In setMacPList(), if resource already exists, don't call getPathToThisApp() because it leaves a zombie process.
svn path=/trunk/boinc/; revision=13828
2007-10-11 01:41:33 +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
David Anderson 25a92389b1 - updated svn ignore properties; deleted some .cvsignore files
svn path=/trunk/boinc/; revision=13813
2007-10-09 18:00:06 +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
Charlie Fenton 03b5c3e3b0 API V6 GFX: Initialize boinc_max_fps = 30.
svn path=/trunk/boinc/; revision=13778
2007-10-04 21:58:56 +00:00
Charlie Fenton 07d83c89b7 graphics API: Write changed window size only after it has stopped changing
svn path=/trunk/boinc/; revision=13714
2007-09-29 01:30:32 +00:00
Charlie Fenton 71255d3194 graphics API: Write changed window size only after it has stopped changing.
svn path=/trunk/boinc/; revision=13713
2007-09-29 01:20:42 +00:00
Charlie Fenton d568c3c260 Restore gfx window size & pos when relaunching. Mac: let gfx app icons appear in Dock.
svn path=/trunk/boinc/; revision=13698
2007-09-28 11:32:05 +00:00
David Anderson ab09ba8834 - graphics API: redo the code for backwards compatibility with V5 so that
at most one regular and one full-screen graphics window can be open,
    and a "hide" message kills the full-screen window if one exists,
    else a regular window.
    Keep track of the PIDs separately for regular and full-screen.
    Also, don't send a "hide" ack if we don't do graphics.

svn path=/trunk/boinc/; revision=13697
2007-09-28 04:23:34 +00:00
Charlie Fenton e680c9a9a1 Mac V6 GFX: add setMacPList() call
svn path=/trunk/boinc/; revision=13696
2007-09-28 02:06:30 +00:00
Charlie Fenton 992fdc08a2 Mac V6 GFX: add setMacPList() call
svn path=/trunk/boinc/; revision=13694
2007-09-27 23:48:07 +00:00
Charlie Fenton 8103f74d3e API: fix 2 bugs in new compatibility code for handling V5 graphics messages in a V5 app
svn path=/trunk/boinc/; revision=13681
2007-09-27 13:09:48 +00:00
David Anderson 7bdacec895 - API: debug the code for handling V5 graphics messages
in a V6 app (and launching/killing the graphics app)
	- API: start timer thread even if in standalone mode
		(needed to get timer callbacks for V6 graphics)
	- API: remove BOINCSetForegroundWindow stuff
	- API: call DestroyWindow instead of boinc_exit() in WM_CLOSE.
		boinc_exit() is the wrong thing to call - e.g. it tries to delete
		the lock file, resulting in a 5-sec delay on exit

svn path=/trunk/boinc/; revision=13679
2007-09-27 03:34:27 +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
Charlie Fenton e8a4acda63 V6 screensaver shows graphics for both V5 and V6 applications.
svn path=/trunk/boinc/; revision=13670
2007-09-26 10:17:43 +00:00
Charlie Fenton 2713f5662d Mac/Linux/UNIX: V6 apps uses shmget() to run with V5 clients
svn path=/trunk/boinc/; revision=13669
2007-09-26 10:17:11 +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 bc5b979afb - Added new script "update_versions_v6"; use this instead of
update_versions to add version 6 apps.
    It looks for API_VERSION string in main executable,
    adds the API version to the app_version XML,
    and sets min_core_version to 6 for version 6+ apps
- API: include API_VERSION string
- convert tabs to spaces here and there
- scheduler: parse unused elements in <net_stats>
- ops/show_log.php: if no URL args, just show form (fixes #415)
- client: parse and store api_version (not used yet)

svn path=/trunk/boinc/; revision=13627
2007-09-21 18:10:54 +00:00
Rom Walton 4ab9cb6b0c Quick Updates
svn path=/trunk/boinc/; revision=13596
2007-09-17 18:11:23 +00:00
David Anderson 3204081982 - API: embed the string API_VERSION_N.N.N in libboinc.a
(for v6)
- client: performance tweak for CPU sched
- client: fix /proc/cpuinfo parsing for linux 2.6.23, powerPC
    fixes #410


svn path=/trunk/boinc/; revision=13593
2007-09-17 14:03:44 +00:00
David Anderson 34a31a2827 - API: don't start timer thread (or install signal handler on Unix)
if running standalone


svn path=/trunk/boinc/; revision=13577
2007-09-12 13:37:06 +00:00
Reinhard Prix b42927889c - initialize local 'struct sigaction' variable to zero ({0}) in xwin_graphics_event_loop()
svn path=/trunk/boinc/; revision=13566
2007-09-11 17:40:03 +00:00
David Anderson fbfd793489 - API: initialize sigaction struct in X graphics code
svn path=/trunk/boinc/; revision=13558
2007-09-09 21:09:07 +00:00
Charlie Fenton 9c939288df make shared memory using memory mapped files more robust
svn path=/trunk/boinc/; revision=13534
2007-09-04 07:41:25 +00:00
Charlie Fenton d269036df3 V6 GFX: Fix bug on OS 10.3.9
svn path=/trunk/boinc/; revision=13532
2007-09-04 07:40:18 +00:00
Charlie Fenton d72c982f7f Mac V2 GFX: Fix link error when building example app
svn path=/trunk/boinc/; revision=13489
2007-08-29 13:11:41 +00:00
Charlie Fenton ec652d7573 Mac V2 GFX: Fix link error when building example app
svn path=/trunk/boinc/; revision=13488
2007-08-29 09:24:22 +00:00
Charlie Fenton c3960c9140 Fix a compiler warning
svn path=/trunk/boinc/; revision=13484
2007-08-29 02:23:00 +00:00
Charlie Fenton 3d437d904a Create same shmem file name as for Windows, instead of "gfx_mmap_file
svn path=/trunk/boinc/; revision=13481
2007-08-29 01:26:57 +00:00
Charlie Fenton 25ec43a839 Implement memory-mapped files for shared memory
svn path=/trunk/boinc/; revision=13470
2007-08-27 12:29:00 +00:00
Charlie Fenton e1681640ea Implement
svn path=/trunk/boinc/; revision=13469
2007-08-27 12:27:48 +00:00
Charlie Fenton 5cd7cdbc04 Begin implementation of using memory-mapped files for shared memory
svn path=/trunk/boinc/; revision=13467
2007-08-27 09:17:38 +00:00
David Anderson 9debbe3b4f screensaver fix
svn path=/trunk/boinc/; revision=13395
2007-08-16 23:52:40 +00:00
David Anderson b6952dcd20 Fixes for command line compile.
Fixed some type warnings on windows.
Fixed missing graphics_threadh definition on WIN32.

svn path=/trunk/boinc/; revision=13282
2007-08-10 01:51:14 +00:00
David Anderson f96db2c656 svn path=/trunk/boinc/; revision=13270 2007-08-06 23:06:16 +00:00
Charlie Fenton 5d2d8dea7a Added a comment
svn path=/trunk/boinc/; revision=13252
2007-07-31 13:35:40 +00:00
Charlie Fenton 6db6b61352 Graphics API: Don't render graphics when application is suspended to reduce CPU usage
svn path=/trunk/boinc/; revision=13250
2007-07-31 13:11:26 +00:00
Charlie Fenton e0b4dfea33 Graphics API: Don't render graphics when application is suspended to reduce CPU usage
svn path=/trunk/boinc/; revision=13249
2007-07-31 13:07:10 +00:00
David Anderson 905910f806 - API: some out-of-mem checks
svn path=/trunk/boinc/; revision=13151
2007-07-13 20:18:46 +00:00
David Anderson bda30b3065 - added a stats site
- added return value for copy_stream()

svn path=/trunk/boinc/; revision=13133
2007-07-10 23:42:05 +00:00
David Anderson 9f6fe805ad - API: set fraction_done to 1 in boinc_finish()
api/
    boinc_api.C

svn path=/trunk/boinc/; revision=13050
2007-06-28 22:51:51 +00:00
David Anderson 05226427dd - API: set timer thread stack size to 16KB
- Scheduler: for no_amd_k6 option, check CPU vendor as well as model

sched/
    handle_request.C
api/
    boinc_api.C

svn path=/trunk/boinc/; revision=12929
2007-06-13 19:09:46 +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 e8d8a28e63 - client: enforce_schedule(): if try to preempt a
process that's not running, at least mark it as preempted.
    (this should never happen in principle)
- API: compile fix for Mac

api/
    graphics2_unix.C
client/
    cpu_sched.C

svn path=/trunk/boinc/; revision=12895
2007-06-11 21:56:56 +00:00
David Anderson d2342fca77 svn path=/trunk/boinc/; revision=12852 2007-06-08 08:03:02 +00:00
David Anderson b4087e0e1b svn path=/trunk/boinc/; revision=12850 2007-06-08 07:55:27 +00:00
David Anderson 18c29a91ee - rename BOINC_DIAG_USEDEFALUTS (??) to BOINC_DIAG_DEFAULTS
api/
    boinc_api.C
lib/
    diagnostics.h

svn path=/trunk/boinc/; revision=12848
2007-06-08 07:38:17 +00:00
David Anderson d20307f25a - renamed texfont.c to texfont.C to fix automake warning
api/
        texfont.C (changed c to C)
        Makefile.am

svn path=/trunk/boinc/; revision=12745
2007-05-24 18:04:01 +00:00
David Anderson 1d421c5a43 - debug version-6-style graphics on Unix
api/
    Makefile
    graphics2.h
    graphics2_win.C
    graphics2_util.C
    graphics2_unix.C
lib/
    shmem.h

svn path=/trunk/boinc/; revision=12737
2007-05-23 22:36:07 +00:00
David Anderson 90374052f2 - debug version 6-style graphics on Windows.
New example app works now!

	api/
		graphics2.C,h
		graphics2_util.C
		graphics2_win.C
	lib/
		util.C,h

svn path=/trunk/boinc/; revision=12735
2007-05-23 21:02:19 +00:00
David Anderson 273ad2914b svn path=/trunk/boinc/; revision=12721 2007-05-23 03:56:49 +00:00
David Anderson 2fcd2cb7d5 - lib/filesys: do timed retry of delete/rename on Unix as well as Win
- client: sleep 1 sec (not 60) before retry statefile write
- client: parse <credit> in workunit XML
- scheduler: better error messages if insert_wu_tags() fails

api/
    graphics2_unix.C
client/
    client_state.C
    client_types.C
lib/
    filesys.C
sched/
    sched_send.C

svn path=/trunk/boinc/; revision=12720
2007-05-23 03:55:53 +00:00
David Anderson 38aaf5ee9c api/
graphics2.C
		graphics2_win.C

svn path=/trunk/boinc/; revision=12717
2007-05-22 21:26:47 +00:00
David Anderson fe68a746fd - scheduler: fix FCGI compile
- API: add files for version 6 graphics

api/
    Makefile.am
    graphics2.C (new)
    graphics2_unix.C (new)
    graphics2_win.C (new)
sched/
    Makefile.am

svn path=/trunk/boinc/; revision=12714
2007-05-22 20:12:45 +00:00
David Anderson 6f7f1bfd5c - API: don't include config.h in a few places
api/
		graphics_impl.C
		texture.C
		tgalib.C

svn path=/trunk/boinc/; revision=12705
2007-05-21 18:19:28 +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 dd797bc843 - API: if using graphics, set worker thread stack size limit to max
(from Rosetta@home)
    
    api/
        graphics_impl.C

svn path=/trunk/boinc/; revision=12562
2007-05-04 20:06:00 +00:00
David Anderson b686f89d85 David 20 Apr 2007
- make_project: add periodic tasks to default config.xml:
        dp_dump, update_uotd, update_forum_activities, update_stats,
        update_profile_pages
    - backend_lib.C: refuse to create a job for which some necessary
        parameter (rsc_fpops_est, rsc_fpops_bound, etc.) is missing
    - Unix build: don't include std_fixes.h in config.h.
        std_fixes.h is (I think) deprecated
    - sched_util: default sched log level is MSG_NORMAL
    - client: add ".txt" to job log filename
    - compile fixes

    configure.ac
    api/
        reduce_main.C
    client/
        file_names.C
    lib/
        str_util.h
    sched/
        sample_work_generator.C
        sched_msgs.h
    tools/
        backend_lib.C

svn path=/trunk/boinc/; revision=12430
2007-04-20 17:14:08 +00:00
Rom Walton ac6974b62b Rom 19 Apr 2007
- Fix a minor compile problem on 64-bit Windows platforms with the
        call to SetTimer.
    - fixes #80: Introduce the notion of an alternate platform for 64-bit
        Windows clients, which can also run 32-bit Windows apps.
        
      TODO: We'll need to refactor the whole platform section in the
        scheduler request creation section so that it can handle
        multiple alternate platforms and for Linux/Mac.
        
    api/
        windows_opengl.C
    client/
        client_state.C, .h
        cpp.h
        cs_scheduler.C

svn path=/trunk/boinc/; revision=12421
2007-04-19 20:53:16 +00:00
David Anderson 1411e4c003 *** empty log message ***
svn path=/trunk/boinc/; revision=12324
2007-04-05 23:15:20 +00:00
David Anderson b0f56c0a6e *** empty log message ***
svn path=/trunk/boinc/; revision=12282
2007-03-29 18:33:28 +00:00
David Anderson 52793262e1 *** empty log message ***
svn path=/trunk/boinc/; revision=12257
2007-03-20 23:12:22 +00:00
David Anderson 6984ec8cf4 *** empty log message ***
svn path=/trunk/boinc/; revision=12233
2007-03-15 19:08:22 +00:00
David Anderson 7499c10e8f *** empty log message ***
svn path=/trunk/boinc/; revision=12199
2007-03-08 21:00:26 +00:00
David Anderson 87fbd47b75 *** empty log message ***
svn path=/trunk/boinc/; revision=12187
2007-03-04 20:52:31 +00:00
David Anderson 81effa6a7b *** empty log message ***
svn path=/trunk/boinc/; revision=12127
2007-02-21 16:26:51 +00:00