Commit Graph

150 Commits

Author SHA1 Message Date
Rom Walton a285dfd44b - VBOX: Begin merging the two different vbox wrappers (COM vs. Daniel's from
CERN).  Where possible stick with the POSIX API set and remove Windows
        specific code. (Example vbm_popen).
        
      NOTE: Not usable at the moment.
      
    samples/vboxwrapper/cernvm
        cernvmwrapper.cpp
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp
    samples/vboxwrapper/
        vm.cpp, .h
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=23458
2011-04-26 17:41:10 +00:00
Rom Walton c4e8e186c1 Quick Updates
svn path=/trunk/boinc/; revision=23454
2011-04-26 15:30:19 +00:00
Rom Walton 4b543f8d32 svn path=/trunk/boinc/; revision=23453 2011-04-26 15:28:48 +00:00
Rom Walton 4f7e4e90bd svn path=/trunk/boinc/; revision=23452 2011-04-26 15:28:21 +00:00
Rom Walton 6ce8facb09 svn path=/trunk/boinc/; revision=23451 2011-04-26 15:27:25 +00:00
Rom Walton c66c35e500 svn path=/trunk/boinc/; revision=23450 2011-04-26 15:27:01 +00:00
Rom Walton e33d410176 svn path=/trunk/boinc/; revision=23449 2011-04-26 15:26:35 +00:00
Rom Walton 45a8418b36 svn path=/trunk/boinc/; revision=23448 2011-04-26 15:26:10 +00:00
Rom Walton b4d0aff42a svn path=/trunk/boinc/; revision=23446 2011-04-26 15:25:17 +00:00
Rom Walton e9f144ae18 Quick Updates
svn path=/trunk/boinc/; revision=23444
2011-04-26 15:20:54 +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 d6749af703 Quick Updates
svn path=/trunk/boinc/; revision=23248
2011-03-23 03:02:09 +00:00
Rom Walton 57d7883c35 Quick Updates
svn path=/trunk/boinc/; revision=23247
2011-03-23 03:01:18 +00:00
Rom Walton 3622966641 - VBox: Checkpoint for Windows
* Creates/registers virtual machine
        * Starts/Stops virtual machine
        * Suspends/Resumes virtual machine
        * Deletes/deregisters virtual machine
      
      TODO:
        * Fraction done properly
        * Standard error streams from virtualized applications
        * Find a way to hide the VBoxHeadless application window (It can be minimized manually)

    samples/vboxwrapper/
        vbox.cpp, .h
        vbox_win.cpp
        vboxwrapper.cpp
        vm.cpp, .h

svn path=/trunk/boinc/; revision=23246
2011-03-23 02:43:28 +00:00
David Anderson 64187672cc - wrapper: macro-substitute $NTHREADS with the --nthreads option value
in job.xml


svn path=/trunk/boinc/; revision=23244
2011-03-21 09:30:29 +00:00
David Anderson eaff1b16cc - wrapper: improved subprocess cleanup, Unix
svn path=/trunk/boinc/; revision=23240
2011-03-17 05:56:54 +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 90a1348a10 - wrapper: fixes from Carl
svn path=/trunk/boinc/; revision=23105
2011-02-24 23:21:55 +00:00
David Anderson d63d67c968 - wrapper: daemon fix
svn path=/trunk/boinc/; revision=23102
2011-02-24 21:55:17 +00:00
David Anderson d331ca86ed - wrapper: add "daemon" feature.
A task descriptor may contain <daemon>.
    Daemons are started before regular tasks,
    run concurrently with them, and are killed on exit.


svn path=/trunk/boinc/; revision=23101
2011-02-24 21:39:07 +00:00
David Anderson 0856304497 win compile fixes
svn path=/trunk/boinc/; revision=23089
2011-02-23 00:41:34 +00:00
David Anderson b3f00f94f7 - wrapper: compile fix
svn path=/trunk/boinc/; revision=23088
2011-02-23 00:31:15 +00:00
David Anderson a0fd3445fc - wrapper: improve and bullet-proof the way we kill apps.
Win: enumerate all descendants, and kill them all TerminateProcess().
    Unix:
        send the main process a SIGTERM.
        Check once a sec for existence of descendants.
        if none, done
        If any still exist after 10 sec, kill all descendants
- wrapper fix bug in Win env var stuff
- scheduler: check for VBox version 3.2+ in app_plan()
    

svn path=/trunk/boinc/; revision=23085
2011-02-22 23:11:34 +00:00
David Anderson 01a1ec33c3 - client: add cpu_sched debug messages for anti-domino-effect
and anti-thrasing mechanisms
- wrapper: to kill an app, use SIGTERM instead of SIGKILL
    

svn path=/trunk/boinc/; revision=23082
2011-02-22 21:05:21 +00:00
David Anderson faddad7bbb - wrapper: Windows fixes
svn path=/trunk/boinc/; revision=23078
2011-02-21 06:40:22 +00:00
David Anderson cf9b7ef4a2 - client: make "wait 30 sec after exclusive app exits" apply to network too
- client: fix bug in "wait 30 sec after exclusive app exits" logic
	- client: fix compile warning and possible bug in is_remote_desktop()
	- win: remove wrappture_example from solution
		(until Hubzereo guys get their win lib working)

svn path=/trunk/boinc/; revision=23077
2011-02-21 00:09:18 +00:00
David Anderson 13c2cf2fa8 - wrapper: add optional <setenv> element in <task> elements;
specifies an environment variable assignment;
    macro-substitute project dir for $PROJECT_DIR.
    From Carl Christensen

svn path=/trunk/boinc/; revision=23076
2011-02-20 23:46:28 +00:00
David Anderson 7ae1e2357d - wrapper: add optional <exec_dir> element in <task> elements;
specifies a directory to run app in.
    macro-substitute project dir for $PROJECT_DIR.
    From Carl Christensen, more or less


svn path=/trunk/boinc/; revision=23075
2011-02-20 04:01:04 +00:00
David Anderson 5bbafef4b0 - fix some bad file permissions
- delist defunct stats site


svn path=/trunk/boinc/; revision=22859
2011-01-02 03:07:14 +00:00
Rom Walton 0ea0fd6037 - VBOX: Implement stubs for starting/stopping/suspending/resuming VMs
TODO: create/delete.
        
    samples/vboxwrapper/
        vbox.cpp, .h
        vbox_win.cpp
        vboxwrapper.cpp
        vm.cpp, .h
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=22833
2010-12-08 16:02:10 +00:00
David Anderson 7baddb24e3 - Fix bugs in Rappture wrapper
- Add README file and templates for Rappture wrapper
- create_work: create defaults for --wu_name, --wu_template, --result_template
- user web: fix typo on workunit.php

svn path=/trunk/boinc/; revision=22826
2010-12-07 19:28:08 +00:00
David Anderson a89ae6f3c6 svn path=/trunk/boinc/; revision=22821 2010-12-06 03:10:01 +00:00
David Anderson ebe1256b58 - wrappture fixes
svn path=/trunk/boinc/; revision=22820
2010-12-06 03:06:31 +00:00
David Anderson 2b67ec4ad9 - client: fix major bug in job scheduling
Old: scheduling has 2 phases:
        1) computing a list of jobs to run (a vector of RESULT*);
            this is done infrequently
        2) enforcing the schedule; this is done more frequently
    Problem:
        when we enforce the schedule,
        the RESULTs in the jobs-to-run list may not still be runnable,
        and in fact they may not still exist (dangling pointer).
    New: combine the 2 phases


svn path=/trunk/boinc/; revision=22792
2010-12-01 21:49:35 +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
Rom Walton 3fa1f8d94d Quick Updates
svn path=/trunk/boinc/; revision=22783
2010-12-01 16:06:31 +00:00
David Anderson 55eca25ed5 - Rappture stuff
svn path=/trunk/boinc/; revision=22777
2010-11-30 05:27:05 +00:00
David Anderson d93114a51f - add VS project file for wrappture_example; fix Win compile
svn path=/trunk/boinc/; revision=22776
2010-11-29 22:51:24 +00:00
David Anderson bedfeafbee - add support for making wrappers for Rappture:
https://nanohub.org/infrastructure/rappture/


svn path=/trunk/boinc/; revision=22775
2010-11-29 22:27:26 +00:00
Rom Walton 36c95249bf - vboxwrapper: Remove unneeded cruft. Vbox can report how long a
VM has been running since the last state change, we'll use that
        instead.
    - vboxwrapper: provide basic stub functions for starting/stopping/
        suspending/resuming a VM.  Leave wrapper functionality in
        vboxwrapper, and VM specific functionality in vbox_*.  Ideally
        only the stub functions would have to change for other VM
        implementations.
        
    samples/vboxwrapper/
        vbox.cpp, .h
        vbox_win.cpp
        vboxwrapper.cpp
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=22753
2010-11-29 16:48:31 +00:00
Rom Walton 650ede61c5 - vbox: Create a new VirtualBox wrapper using the VirtualBox COM
API set.  Use the existing wrapper as the baseline.  Current
        wrapper just dumps the existing VMs defined on the machine.
        More to follow.
        
    samples/vboxwrapper/mscom/
        VirtualBox.h
        VirtualBox.tlb
        VirtualBox_i.c
    samples/vboxwrapper/
        vbox.h
        vbox_win.cpp
        vboxwrapper.cpp
    win_build/
        boinc.sln
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=22745
2010-11-24 20:15:11 +00:00
Rom Walton 08db9f1563 Quick Updates
svn path=/trunk/boinc/; revision=22673
2010-11-10 16:09:33 +00:00
Rom Walton 2a3c4dff7e Add linux x64 example app
svn path=/trunk/boinc/; revision=22672
2010-11-10 16:08:39 +00:00
Rom Walton aae2ef17f6 Quick Updates
svn path=/trunk/boinc/; revision=22671
2010-11-10 15:37:15 +00:00
Rom Walton 25e28bae13 Add linux example app
svn path=/trunk/boinc/; revision=22670
2010-11-10 15:35:47 +00:00
David Anderson c0612ab77f - make_project: with --test_app, copy all the executables
(for many platforms) from samples/example_app/bin
- make_project: change name of example app from uppercase to example_app.
- update_versions: allow version numbers to not have decimal points
- sample work generator: make app name and template files
    command-line options;
    default to "example_app", "example_app_in.xml", "example_app_out.xml"

svn path=/trunk/boinc/; revision=22667
2010-11-10 00:10:32 +00:00
David Anderson 2a9c52793c svn path=/trunk/boinc/; revision=22666 2010-11-09 22:35:59 +00:00
Charlie Fenton 0dcd647250 Mac: Update build scripts, build examples and documentation
svn path=/trunk/boinc/; revision=22489
2010-10-11 11:59:05 +00:00
Charlie Fenton 8255e54d64 Mac: Update build example
svn path=/trunk/boinc/; revision=22486
2010-10-09 01:47:03 +00:00