Commit Graph

999 Commits

Author SHA1 Message Date
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
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