Commit Graph

1136 Commits

Author SHA1 Message Date
Charlie Fenton 507c82a6d6 OpenCL: remove dead code reported by Heinz-Bernd Eggenstein 2013-03-05 13:43:14 +01:00
Oliver Bock 9bef2edbf0 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc 2013-03-04 17:47:10 +01:00
Charlie Fenton 59e303a57f OpenCL: fix bug reported by Heinz-Bernd Eggenstein 2013-03-04 17:46:44 +01:00
Rom Walton 4b3f9b4cb7 Fix build break for boinc_opencl.cpp and move the include of <vector> below the pre-compiled header file for Windows builds in boinc_api.cpp 2013-03-04 17:45:14 +01:00
Rom Walton 076858a729 LIB: Standardize on using windows_format_error_string and drop windows_error_string.
* Move the windows_format_error_string function to win_util.cpp, .h instead of it being scattered between util.h and str_util.cpp.
* Convert the Windows error string into UTF8 before allowing it to be used by the caller
* Remove windows_error_string from library
2013-03-04 17:39:24 +01:00
David Anderson e393203ff7 - API: improve log messages when detect dead client 2013-03-04 17:24:19 +01:00
David Anderson be553882bd - API: fix Unix bug when checking if client is alive based on PID.
Can't use waitpid() here; works only for children.
    Use kill(pid, 0) instead.
2013-03-04 17:24:19 +01:00
David Anderson 17a4ab8db9 David 11 Dec 2012
- Win process control (affects API and wrapper):
		Since Win doesn't have an API for process suspend/resume,
		we were suspending processes by
			1) enumerating all the threads in the system (typically several thousand)
			2) suspending those belonging to the given process
		The problem: for each thread, the code was calling a function
		in diagnostics_win.cpp to see if the thread was exempted from suspension.
		This check (which is unnecessary anyway if we're suspending another process)
		was surrounded by a semaphore acquire/release.
		The result: performance problems.
		It could take a minute to suspend the threads.
		Solution:
			1) do the check for exemption only if we're suspending threads
				in our own process (i.e. from the API)
			2) if we're suspending multiple processes, enumerate the threads
				only once, and see if each one belongs to any of the processes
			3) have the wrapper elevate itself to normal priority.
				Otherwise it can get preempted for long periods,
				sometimes in the middle of scanning the threads.
		Note: post-9x versions of Win have a process group API that includes suspend/resume.
		We'll switch to this soon.
2013-03-04 17:02:40 +01:00
David Anderson 5ad78a8b9d - client: replace ignore_nvidia_dev etc. with an array.
PRINCIPLE: AVOID PER-GPU-TYPE VARIABLES
- get rid of alloca() stuff in gutil.cpp; almost certainly not needed
- don't include malloc.h; it doesn't exist on BSD systems
2013-03-04 16:44:52 +01:00
Charlie Fenton 6314d1c7ea OpenCL: Change type argument of new boinc_get_opencl_ids() API from char* to int; it now accepts PROC_TYPE_NVIDIA_GPU, PROC_TYPE_AMD_GPU or PROC_TYPE_INTEL_GPU 2013-03-04 15:23:38 +01:00
David Anderson 865d50623e - code formatting 2013-03-04 15:23:38 +01:00
Charlie Fenton ed35d78490 OpenCL: Add a second API for boinc_get_opencl_ids() which is compatible with older clients (before BOINC 7.0.12) 2013-03-04 15:23:38 +01:00
Charlie Fenton e8abd328d1 OpenCL: Add a second API for boinc_get_opencl_ids() which is compatible with older clients (before BOINC 7.0.12) 2013-03-04 15:23:38 +01:00
Charlie Fenton b98fee99b3 OpenCL: Add a second API for boinc_get_opencl_ids() which is compatible with older clients (before BOINC 7.0.12) 2013-03-04 15:23:38 +01:00
Eric J Korpela 6f342d7c8a Another out-of-tree build fix 2013-03-01 16:19:16 +01:00
Rom Walton e3327452e3 - API: Use CloseWindow() to respond to the API Defined WM_SHUTDOWNGFX event just in case CloseWindow() does something more than just send the WM_CLOSE event to the window proc. 2013-03-01 16:03:32 +01:00
Rom Walton d4cf16944e - API: Remove the call to SendMessage(WM_QUIT, ...) after destroying the window.
There is no guarantee what order the event queue will be processed in and if
        WM_QUIT is processed before WM_DESTROY something might linger around.
2013-03-01 15:51:33 +01:00
David Anderson 76282d0a20 - Win compile fixes.
For now, include psapi.lib in various project properties.
		Try to figure out a different way.

svn path=/trunk/boinc/; revision=26149
2012-10-11 19:22:34 +00:00
David Anderson 7d40c46923 - client and API: improve the way an app checks for the death of the client
Old: heartbeat mechanism
    Problem: if the client is blocked for > 30 secs
        (e.g. because it takes a long time to write the state file,
        of because it's stopped in a debugger)
        then apps exit.
        This is bad is the app doesn't checkpoint and has been
        running for a long time.
    New: the client passes its PID to the app.
        The app periodically (10 sec) checks that the process still exists.
    Notes:
    - For backward compatibility (e.g. new API w/ old client,
        or vice versa) the client still sends heartbeats,
        and the API checks heartbeats if the client doesn't pass a PID.
    - The new mechanism works only if the client's PID isn't assigned
        to a new process within 10 secs of the client exiting.
        Windows 2000 reuses PIDs immediately, so check for Win2K
        and don't use this mechanism if so.

TODO: For Unix multithread apps,
    critical sections aren't currently being enforced.
    Need to fix this by masking signals.


svn path=/trunk/boinc/; revision=26147
2012-10-11 16:41:31 +00:00
David Anderson be540c8318 - API: if get a resume message from client while in a critical section,
clear the suspend_request flag.
    Otherwise we'll end up doing two suspends,
    and on Win the app will be suspended forever.


svn path=/trunk/boinc/; revision=26143
2012-09-30 20:30:58 +00:00
David Anderson aa289f0916 - A bunch of tweaks from Steffen Moller, e.g. using MAXPATHLEN
svn path=/trunk/boinc/; revision=26133
2012-09-21 03:52:24 +00:00
David Anderson 9ccb8fa38d - scheduler: add support for limited locality scheduling
- API: remove support for PPM files


svn path=/trunk/boinc/; revision=26062
2012-08-27 17:00:43 +00:00
David Anderson 25c2f6b49c - client: treat all 4xx HTTP errors as permanent
- code cleanup
- API: increase a buffer in timer_handler() from 256 to 512.


svn path=/trunk/boinc/; revision=26012
2012-08-13 18:23:20 +00:00
David Anderson cd1f79fbbc - API: add boinc_set_min_checkpoint_period(int).
Lets application specify a min checkpoint interval.
    The actual min checkpoint interval is the max of this
    and the user-specified pref for min disk interval.


svn path=/trunk/boinc/; revision=26005
2012-08-10 22:20:41 +00:00
Rom Walton fd631016cb - API: Remove ttfont.cpp from Makefile.am. Apps should include it
in there Makefile as needed.

svn path=/trunk/boinc/; revision=25989
2012-08-07 18:11:38 +00:00
Charlie Fenton 74452bfbd0 API: remove references to removed files bmplib.h and tgalib.h
svn path=/trunk/boinc/; revision=25977
2012-08-03 22:07:04 +00:00
David Anderson 2b2e7c5cf9 - API: remove support for BMP and TGA image files;
the code to parse these had no license info.
    Only JPEG is supported now.


svn path=/trunk/boinc/; revision=25976
2012-08-03 21:56:42 +00:00
Charlie Fenton 857324f5f9 Fix mixed line endings
svn path=/trunk/boinc/; revision=25963
2012-08-03 02:02:05 +00:00
Rom Walton 832386c4e0 - SS: Update project files to use FreeType and FTGL on Windows.
api/
        ttfont.cpp, .h
    clientscr/
        ss_app.cpp
    win_build/
        boinc_ss.vcproj
        libgraphics2.vcproj

svn path=/trunk/boinc/; revision=25962
2012-08-03 01:18:20 +00:00
Charlie Fenton 79a201ce33 API, SCR: Switch from *.txf fonts to TrueType fonts in graphics apps, ensuring that all related files have no licensing issues
svn path=/trunk/boinc/; revision=25945
2012-08-02 07:21:03 +00:00
Charlie Fenton a49e933d7e API, SCR: Switch from *.txf fonts to TrueType fonts in graphics apps, ensuring that all related files have no licensing issues
svn path=/trunk/boinc/; revision=25944
2012-08-02 07:19:11 +00:00
Charlie Fenton 0a3bf2c1f4 API, SCR: Switch from *.txf fonts to TrueType fonts in graphics apps, ensuring that all related files have no licensing issues
svn path=/trunk/boinc/; revision=25940
2012-08-02 06:59:49 +00:00
Charlie Fenton 6acb88ca81 API, SCR: Switch from *.txf fonts to TrueType fonts in graphics apps, ensuring that all related files have no licensing issues
svn path=/trunk/boinc/; revision=25939
2012-08-02 06:53:11 +00:00
David Anderson aedbf28981 - compile fix (from Oliver)
svn path=/trunk/boinc/; revision=25877
2012-07-17 16:42:06 +00:00
David Anderson 19458ba4de - Compile fixes for Fedora core 17. From Christian B. Fixes #1194.
- Fix various #include issues.

CODING STYLE LAW (minimal inclusion principle):
    If foo.cpp requires <blah.h>,
    #include <blah.h> in foo.cpp, NOT foo.h


svn path=/trunk/boinc/; revision=25837
2012-07-02 18:51:02 +00:00
David Anderson 9f6fa7c1ad - API, Linux: increase timer thread stack size from 16K to 32K.
Apparently new use of MAXPATHLEN can cause overflow.
    Fixes #1191


svn path=/trunk/boinc/; revision=25781
2012-06-21 19:13:49 +00:00
Bernd Machenschalk 4c5014416d - API: fix for C-mode compilation of boinc_api.h
moved app_ipc.h inclusion outside __cplusplus                                                                                                                                                                                  
        since it contains important C mode prototypes                                                                                                                                                                                  
        (boinc_resolve_filename() etc.)

svn path=/trunk/boinc/; revision=25752
2012-06-10 13:44:01 +00:00
David Anderson 72ab18c0f8 typo
svn path=/trunk/boinc/; revision=25751
2012-06-10 05:47:09 +00:00
David Anderson 54078e92c4 - fixes of various (non-critical) fd and memory leaks.
Fixes #1188.  From Julien.
- fix bugs in setting scheduler output buffer size
- code formatting


svn path=/trunk/boinc/; revision=25750
2012-06-10 05:38:34 +00:00
David Anderson 13f51d42e5 - API: add boinc_network_usage();
lets an application report its network usage to BOINC,
    and hence take it into account with monthly limits etc.
- API: get rid of deprecated boinc_ops_per_cpu_sec(),
    boinc_ops_cumulative(), and
    boinc_set_credit_claim();
- admin web: update manage_apps.php;
    add the ability to set homogeneous app version


svn path=/trunk/boinc/; revision=25700
2012-05-20 23:02:12 +00:00
David Anderson ed414c26f0 - compile fix
svn path=/trunk/boinc/; revision=25664
2012-05-09 20:03:15 +00:00
David Anderson 24c0fcc9bf - another MAXPATHLEN
svn path=/trunk/boinc/; revision=25660
2012-05-09 18:16:15 +00:00
David Anderson 32a08d27d9 - C++ code: use MAXPATHLEN for char arrays that hold paths
svn path=/trunk/boinc/; revision=25659
2012-05-09 16:11:50 +00:00
Eric J. Korpela 6e65ae4df1 Added NVIDIA GPU platform detection to boinc_get_opencl_ids_aux()
svn path=/trunk/boinc/; revision=25592
2012-04-23 21:23:40 +00:00
David Anderson 8b9c871002 - API: fix C compile error
- initial checkin of remote job stuff for app from ICT


svn path=/trunk/boinc/; revision=25543
2012-04-10 06:11:19 +00:00
David Anderson ea4613214a - client: fix bug where if we sent app a <quit> message,
and it timed out and we killed it, we'd treat it as a job error.
    (This was a major bug).
- API: remove BOINC_STATUS::suspend_request.
    I meant to do this before.


svn path=/trunk/boinc/; revision=25498
2012-03-27 19:23:26 +00:00
David Anderson dfacf7d1c1 - API: remove BOINC_STATUS::suspend_request;
it's an implementation thing, not intended for export.
    Fix a related bug.


svn path=/trunk/boinc/; revision=25396
2012-03-09 19:46:49 +00:00
David Anderson fe2f589ae2 - API: fix various bugs related to process control and critical sections.
- client: code cleanup (no functional change)



svn path=/trunk/boinc/; revision=25393
2012-03-08 22:42:44 +00:00
Charlie Fenton 4a8d57ec95 API: fix compile error on Mac
svn path=/trunk/boinc/; revision=25318
2012-02-23 00:37:30 +00:00
David Anderson 7c3bc68a05 - API, client, and Manager: add an optional "reason" argument to
boinc_temporary_exit(),
        explaining why the app is exiting.
        Convey this to the client, and then to the Manager,
        and display it there and in the log.

    clientgui/
        MainDocument.cpp
    lib/
        gui_rpc_client_ops.cpp
        gui_rpc_client.h
    api/
        boinc_api.cpp,h
    client/
        client_types.cpp,h
        app.h
        app_control.cpp

svn path=/trunk/boinc/; revision=25315
2012-02-22 22:56:05 +00:00
Charlie Fenton 9cebe4bb35 API: Remove apparently unnecessary include of carbon.h
svn path=/trunk/boinc/; revision=25262
2012-02-15 01:33:51 +00:00
Charlie Fenton fd999fc652 OpenCL: workaround for GPUs reported by CUDA but not by Mac OpenCL
svn path=/trunk/boinc/; revision=25109
2012-01-20 13:30:47 +00:00
David Anderson 81b29b0cc9 - API: fix queueing problem for graphics-related messages
(web graphics URL and remote desktop addr)
- GUI RPC and API:
    change "remote_desktop_connection" to "remote_desktop_addr" everywhere.
    It's an address, not a connection.
- vboxwrapper: log message cleanup


svn path=/trunk/boinc/; revision=25044
2012-01-13 19:00:16 +00:00
Rom Walton ce4650ecbb - VBOX: Cleanup a few messages stating port numbers in the stderr spew.
- VBOX: Send configuration settings in one message instead of piece meal.
    
    api/
        boinc_api.cpp, .h
    samples/vboxwrapper
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=25041
2012-01-13 15:21:00 +00:00
Rom Walton 2c54c9735a - VBOX: Report the remote desktop connection information to the
core client.  Next commit will create an extra "VM Console"
        button in the manager when detected.  Volunteers will just have
        to click the button to see what is going on with the VM.

    api/
        boinc_api.cpp, .h
    samples/vboxwrapper
        vbox.cpp, .h
        vboxwrapper.cpp, .h

svn path=/trunk/boinc/; revision=25035
2012-01-12 20:57:23 +00:00
David Anderson 8d1af7892f - API: respect direct_process_action even if multi_process is set
svn path=/trunk/boinc/; revision=25031
2012-01-12 00:27:21 +00:00
David Anderson 17e2cedefe - API/client/manager:
allow applications to supply a "web graphics URL",
    in which case the manager's "Show Graphics" button
    opens a browser at that URL.
    This typically would used for applications that
    implement a web server that serves pages showing
    job information in HTML.
- vboxwrapper: if <pf_guest_port> is specified in the config file,
    set up port forwarding to that port
    and use the above API call with URL "http://localhost:port"


svn path=/trunk/boinc/; revision=24898
2011-12-26 03:10:42 +00:00
David Anderson dbdcfc9a07 - OpenCL API: check return value from clGetDeviceIDs()
svn path=/trunk/boinc/; revision=24566
2011-11-09 21:24:47 +00:00
David Anderson 083040ba63 - OpenCL API: fix logic error
svn path=/trunk/boinc/; revision=24565
2011-11-09 21:04:01 +00:00
Rom Walton 7c88969aa9 - API: Remove exception trapping stuff from the
boinc_get_opencl_ids.
        
    api/
        boinc_opencl.cpp

svn path=/trunk/boinc/; revision=24552
2011-11-08 15:12:44 +00:00
Charlie Fenton b10b199099 api: Restore list checkin of 31 October 2011
svn path=/trunk/boinc/; revision=24515
2011-11-03 08:28:55 +00:00
David Anderson 010b11406b - API: fix bug in boinc_get_opencl_ids()
- add simulator for distributed storage (not finished)


svn path=/trunk/boinc/; revision=24511
2011-11-03 03:29:07 +00:00
Rom Walton 687195e7f0 Quick Updates
svn path=/trunk/boinc/; revision=24510
2011-11-03 02:35:04 +00:00
David Anderson 7b28215032 - client: reimplement the round-robin simulator to
reduce its runtime from O(N^2) to O(N),
    where N is the number of runnable jobs
    (which can be in the thousands).
    This will make the client emulator run a lot faster,
    and will reduce the client CPU overhead a bit.
- API: change boinc_get_opencl_ids() so that it returns
    a BOINC error code (< -100) if the app_init.xml is
    missing or bad (i.e. we're running standalone),
    and an OpenCL error code (> -100) if an OpenCL call failed.


svn path=/trunk/boinc/; revision=24469
2011-10-24 17:53:09 +00:00
David Anderson b95ac02c5b - client: change the way project priorities are computed,
so that they do what they're supposed to
    (i.e. enforce resource shares)
- client: change log flag <debt_debug> to <priority_debug>
- client simulator: update REC even with large delta-t.
- client simulator: handle "no new work" apps correctly


svn path=/trunk/boinc/; revision=24429
2011-10-19 06:37:03 +00:00
Charlie Fenton a80d483e72 Mac: Update Mac build scripts, XCode project and source files to allow automated builds under OS 10.7 Lion and XCode 4.2
svn path=/trunk/boinc/; revision=24416
2011-10-18 13:53:37 +00:00
David Anderson 7e41a84c16 - add boinc_opencl.h to set of installed headers
- emulator tweaks

svn path=/trunk/boinc/; revision=24407
2011-10-17 17:02:05 +00:00
David Anderson 1f2accb000 - API: don't crash if send trickle msg running standalone.
From Christian Ries.


svn path=/trunk/boinc/; revision=24357
2011-10-08 16:33:31 +00:00
David Anderson e279b59913 - Updates Linux notifications to use current libnotify.
- Fix build problems on Mac OS X using autotools
- Consistently use #if HAVE_X for platform checks,
    rather than #ifdef HAVE_X or #if defined(HAVE_X)
- In Unix build, make lots of compiler checks standard
- Fix some compile warnings

From Matt Arsenault.

Note: there are now lots of compile warnings in clientgui/ on Unix,
    mostly in WxWidgets code


svn path=/trunk/boinc/; revision=24303
2011-09-27 19:45:27 +00:00
David Anderson d8f20bceea - vboxwrapper: report network usage to the client
- client: include the above in enforcing network quota preferences


svn path=/trunk/boinc/; revision=24227
2011-09-16 19:16:12 +00:00
David Anderson ec33994fe7 - API; fix the above fix
svn path=/trunk/boinc/; revision=24160
2011-09-12 03:48:16 +00:00
David Anderson 228f626a01 - API: change boinc_get_opencl_ids() to use APP_INIT_DATA
instead of cmdline


svn path=/trunk/boinc/; revision=24159
2011-09-11 22:22:55 +00:00
David Anderson 4e946854c1 - client/API/vboxwrapper:
add a mechanism so that apps can report sub-processes
    that are not descendants (e.g., virtual machines)
    These processes are then counted as part of the app,
    not as "non-BOINC CPU time".
    This fixes a bug where processing was incorrectly suspended
    because CPU usage by VM apps exceeded the "CPU usage limit" pref.

    Implementation:
    - the PIDs of the processes in question
        are passed from app to client via shared-memory,
        in the app_status channel.
        A new variant of boinc_report_app_status() supports this.
    - the VBox wrapper queries the PID of the VM,
        and reports it in this way.
    - procinfo_app() includes a new argument: a list of PIDs
        that are part of the app, although not ancestrally
        related to the main process.
    - in the client, ACTIVE_TASK now includes a vector "other_pids".
        If this is nonempty, it's passed to procinfo_app().


svn path=/trunk/boinc/; revision=24123
2011-09-02 20:47:05 +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
David Anderson c529c3c50d - server: rename process_wu_template() to process_input_template(),
and move it to its own file


svn path=/trunk/boinc/; revision=24107
2011-09-01 19:58:27 +00:00
Charlie Fenton 0e5e4da926 API: More fixes to boinc_get_opencl_ids()
svn path=/trunk/boinc/; revision=24103
2011-09-01 08:31:55 +00:00
Charlie Fenton a02c37cbce API: Fix compile errors and warnings, add documentation
svn path=/trunk/boinc/; revision=24101
2011-09-01 00:06:34 +00:00
David Anderson f1c201ab40 - API: boinc_get_opencl_ids() doesn't need to link
the OpenCL library at runtime.
    It's used only in OpenCL applications,
    which already include the library.


svn path=/trunk/boinc/; revision=24097
2011-08-31 17:36:16 +00:00
David Anderson c0f977b19c - client: fix bugs related to white space around code signing keys
- win compile fixes

svn path=/trunk/boinc/; revision=24095
2011-08-31 16:36:17 +00:00
David Anderson 9bbbb3ea38 - boinc_get_opencl_ids():
- change signature to return int error code
    - no function overloading


svn path=/trunk/boinc/; revision=24094
2011-08-31 16:12:14 +00:00
David Anderson f1040e87ec - move boinc_get_opencl_ids() from lib/ to api/.
lib/ is for code that's used by >1 part of BOINC


svn path=/trunk/boinc/; revision=24093
2011-08-31 15:54:41 +00:00
David Anderson 69cbabe798 - fix compile warnings
svn path=/trunk/boinc/; revision=23780
2011-06-26 00:10:19 +00:00
David Anderson 94e8c48220 - client: change --detach_phase_two (??) to --detach_console
- eliminate compiler warnings (e.g. shadowed vars)
    in various places, mostly in client


svn path=/trunk/boinc/; revision=23710
2011-06-12 20:58:43 +00:00
David Anderson 0eb289df33 - API: forgot to fix boinc_api.h
svn path=/trunk/boinc/; revision=23699
2011-06-09 03:11:09 +00:00
David Anderson 7b5c142650 - API: undo the above API checkin, and provide a cleaner and
documented way of doing the same thing; see
    http://boinc.berkeley.edu/trac/wiki/AppCoprocessor


svn path=/trunk/boinc/; revision=23649
2011-06-07 05:16:12 +00:00
Eric J. Korpela e9ecb9c04a Safe exit checking for CUDA applications under windows. In application you
could use the following for safe exit checking. 

#ifdef _WIN32
//Jason: Safe exit check macro to play nicer with Cuda & MS-CRT
 #ifdef USE_CUDA 
  #define SAFE_EXIT_CHECK  do { \
   if (worker_thread_exit_request) { \
      fprintf(stderr,"-> Worker received exit request, syncing Cuda...");
cudaThreadSynchronize(); fprintf(stderr,"Done.\n"); \
      fprintf(stderr,"  Worker Freeing Cuda data..."); cudaAcc_free();
fprintf(stderr,"Done.\n"); \
      fprintf(stderr,"  Worker Acknowledging exit request, spinning->\n");
worker_thread_exit_ack = true; \
      while (1) Sleep(10); \
   } \
  } while (0);
 #else
  #define SAFE_EXIT_CHECK  do { \
   if (worker_thread_exit_request) { \
      fprintf(stderr,"  Worker Acknowledging exit request, spinning-> ");
worker_thread_exit_ack = true; \
      while (1) Sleep(10); \
   } \
  } while (0);
 #endif
#else  // Linux or other probably have their own safe exit handling, defined as
blank, do nothing
 #define SAFE_EXIT_CHECK
#endif
 
and install at the top of the cffft loop, and more locations if desired:
  SAFE_EXIT_CHECK;

I'd like to implement these as BOINC API functions, but have not yet done so.



svn path=/trunk/boinc/; revision=23646
2011-06-07 01:46:14 +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 bddd0d45db Win compile fixes
svn path=/trunk/boinc/; revision=23370
2011-04-14 22:48:04 +00:00
David Anderson 7cb3400459 - API: add support for multi-process apps,
i.e. those that create subprocesses.
    Previously, the client's job control options (suspend/resume/quit)
    would not work for subprocesses.
    Multiprocess apps must initialize with something like:
        BOINC_OPTIONS options;
        boinc_options_defaults(options);
        options.multi_process = true;
        boinc_init_options(&options);
    Note: an application can be both multi-thread and multi-process.
    In this case set options.multi_thread as well.
- wrapper: add support for multi-process apps.
    Previously, suspend/resume operations did not work for subprocesses.
    If a task is multi-process, you must include
        <multi_process>1</multi_process>
    in its descriptor.


svn path=/trunk/boinc/; revision=23369
2011-04-14 22:25:38 +00:00
Rom Walton 3f8cc63c8f - API: Flush buffers before terminating.
- SCR: Flush buffers before terminating.
    
    api/
        boinc_api.cpp
    clientscr/
        screensaver_win.cpp

svn path=/trunk/boinc/; revision=23286
2011-03-28 17:53:43 +00:00
David Anderson 4a4ee2a013 - API: compile fixes for MinGW. Fixes #955. from Matt Arsenault
svn path=/trunk/boinc/; revision=23282
2011-03-26 02:19:21 +00:00
David Anderson d6c99b43d0 - define MAXPATHLEN, if needed, in filesys.h
- fix typo in a GUI RPC handler


svn path=/trunk/boinc/; revision=23250
2011-03-24 09:32:02 +00:00
David Anderson 02e7aa6678 - client and API: pass "network suspended" flag from client to app;
make it available as part of BOINC_STATUS


svn path=/trunk/boinc/; revision=23243
2011-03-20 07:04:32 +00:00
David Anderson c168971770 - API: get rid of BOINC_OPTIONS::backwards_compatible_graphics.
Not necessary.
- wrapper: add optional <append_cmdline_args/> element to
    task descriptor.
    If set, pass the wrapper's cmdline args to that task.
    NOTE: previously they were always passed.
    If you want this behavior, you now must set this.


svn path=/trunk/boinc/; revision=23232
2011-03-14 17:28:52 +00:00
David Anderson 93902c1475 - API: small tweak that should help narrow down the occasional crashes
in fprintf() and boinc_msg_prefix() seen by E@h

svn path=/trunk/boinc/; revision=22844
2010-12-17 19:09:03 +00:00
David Anderson 0a85852465 svn path=/trunk/boinc/; revision=22836 2010-12-08 23:07:07 +00:00
David Anderson 4ba0fa29ec - API: add support from Truetype fonts (from Carl Christensen)
svn path=/trunk/boinc/; revision=22835
2010-12-08 23:06:07 +00:00
Bernd Machenschalk 56eb3cdf7f API: MinGWs runtime API has neither localtime_r nor localtime_s,
but it should be safe to use localtime here

svn path=/trunk/boinc/; revision=22825
2010-12-07 14:23:37 +00:00
David Anderson 2855bd3840 - client: fix typo that broke communication with account managers
- API: compile fix for Win

svn path=/trunk/boinc/; revision=22804
2010-12-02 19:38:25 +00:00
David Anderson 556e319ca1 - API: use localtime_r() instead of localtime()
svn path=/trunk/boinc/; revision=22784
2010-12-01 18:04:18 +00:00