Commit Graph

40 Commits

Author SHA1 Message Date
David Anderson 382905661f svn path=/trunk/boinc/; revision=23478 2011-04-28 21:54:42 +00:00
David Anderson 0ba3cc2d7b - client: shuffle code to move CONFIG and LOG_FLAGS
into lib/cc_config.h,
    in preparation for adding GUI RPCS


svn path=/trunk/boinc/; revision=23432
2011-04-25 03:18:26 +00:00
David Anderson 17c2dd9ae6 - client: don't use the Snooze mechanism to handle
OS-requested suspension
    (especially with a 1-hour snooze period).
    Instead, handle them directly.


svn path=/trunk/boinc/; revision=23420
2011-04-23 19:02:17 +00:00
David Anderson 3b906a191c - client: generalize the GPU framework so that
- new GPU types can be added easily
		- users can specify GPUs in cc_config.xml,
			referred to by app_info.xml,
			and they will be scheduled by BOINC
			and passed --device N options
			Note: the parsing of cc_config.xml is not done yet.
		- RPC protocols (account manager and scheduler)
			can now specify GPU types in separate elements
			rather than embedding them in tag names
			e.g. <no_rsc>NVIDIA</no_rsc> rather than <no_cuda/>
	- client: in account manager replies, parse elements of the form
		<no_rsc>NAME</no_rsc>
		indicating the GPUs of type NAME should not be used.
		This allows account managers to control GPU types
		not hardwired into the client.
		Note: <no_cuda/> and <no_ati/> will continue to be supported.
	- scheduler RPC reply: add
		<no_rsc_apps>NAME</no_rsc_apps>
		(NAME = GPU name)
		to indicate that the project has no jobs for the indicated GPU type.
		<no_cuda_apps> etc. are still supported 
	- client/lib: remove set_debts() GUI RPC
	- client/scheduler RPC
		remove <cuda_backoff> etc. (superceded by no_app)
		Exception: <ip_result> elements in sched request
		still have <ncudas> and <natis>.
		Fix this later.

	Implementation notes:
	- client/lib: change "CUDA" to "NVIDIA" in type/variable names, and in XML
		Continue to recognize "CUDA" for compatibility
	- host_info.coprocs no longer used within the client;
		use a global var (COPROCS coprocs) instead.
		COPROCS now has an array of COPROCs;
		GPUs types are identified by the array index.
		Index zero means CPU.
	- a bunch of other resource-specific structs (like RSC_WORK_FETCH)
		are now stored in arrays, with same indices as COPROCS
		(i.e. index 0 is CPU)
	- COPROCS still has COPROC_NVIDIA and COPROC_ATI structs to hold vendor-specific info
	- APP_VERSION now has a struct GPU_USAGE to describe its GPU usage

svn path=/trunk/boinc/; revision=23253
2011-03-25 03:44:09 +00:00
David Anderson 6784283211 - user web: fix bugs in server status page
- fix some indentation


svn path=/trunk/boinc/; revision=22890
2011-01-06 23:09:13 +00:00
David Anderson 3de1406265 - scheduler: in app_plan_sse3(): check for CPU features in
p_model as well as p_features;
    pre-6.x clients report them in p_model.
- client: fix bug where "reread config file" didn't update
    the max log file sizes

svn path=/trunk/boinc/; revision=22838
2010-12-09 23:27:11 +00:00
David Anderson 33713781d1 - client: distinguish between messages to be displayed as HTML
(e.g. "Download new client here" link) and others
		(e.g. "Bad tag in cc_config.xml: <foo>").
	- code cleanup; move show_message from main.cpp to client_msgs.cpp

svn path=/trunk/boinc/; revision=22548
2010-10-18 20:09:51 +00:00
David Anderson ef044d6841 - client/manager: add the ability to associate URLs with
client-generated notices.
    Use this as appropriate: e.g., for errors about cc_config.xml syntax,
    direct user to the web page describing this syntax.

svn path=/trunk/boinc/; revision=22024
2010-07-21 19:04:46 +00:00
David Anderson 0c948a656a - client: init gstate.now early so that initial msgs have timestamps
- lib: fix the above

svn path=/trunk/boinc/; revision=22012
2010-07-20 04:19:22 +00:00
Rom Walton 2179576c93 - WINSETUP: Update validate install procedure to account for the
removal of boinc.dll and addition of boinclog.exe.
    - MGR: Move auto-proxy detection code into its own thread.
    
    client/
        main.cpp
        sysmon_win.cpp
    win_build/installerv2/
        BOINC.ism
        BOINCx64.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CAValidateInstall.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

svn path=/trunk/boinc/; revision=22009
2010-07-19 22:09:45 +00:00
David Anderson 6511e1f8e8 - client: let fake CUDA specify driver version
- client: restore call to diagnostics_finish() on exit.
	(should print mem info, but doesn't)
- manager: notices display tweak 

svn path=/trunk/boinc/; revision=21759
2010-06-16 21:57:28 +00:00
David Anderson 5a28b5672e - client: user-visible text (message body, notice title and description)
are now translatable,
    using the convention that any substring enclosed in _(" ... ")
    should be passed throughh wxGetTranslation() or the equivalent.
- client: when writing messages to stdout, strip out _(...)
- manager: translate strings from client
- scheduler: message tweaks

svn path=/trunk/boinc/; revision=21706
2010-06-08 18:56:53 +00:00
Rom Walton c9e02b7370 - client: leave template for causing the debugger to break on a
specific memory allocation.
        
    client/
        main.cpp

svn path=/trunk/boinc/; revision=21465
2010-05-11 20:54:55 +00:00
David Anderson b8df52bc8a - client: temporarily enable logic that deallocates memory on exit,
so that we can look for memory leaks.
- client: enable bandwidth quota limit only if both
    #MB and #days are nonzero.
- scheduler: when resending work, don't send more than
    client is requesting
- scheduler: restore Cobblestone factor to 100

svn path=/trunk/boinc/; revision=21460
2010-05-11 19:50:14 +00:00
Rom Walton 29efaefc5d - client: re-enable memory leak detection on Windows.
client/
        main.cpp

svn path=/trunk/boinc/; revision=21458
2010-05-11 19:18:55 +00:00
Rom Walton 9cb3e6ffc7 - client & lib: bring header inclusion up-to-date for the CC to begin
hunting down a memory leak.
        
    client/
        <Various Files>
    lib/
        <Various Files>

svn path=/trunk/boinc/; revision=21457
2010-05-11 19:10:29 +00:00
David Anderson 9f9d98fff1 - client: write daily net history on shutdown
- client: remove extraneous calls to calShutdown()
    in ATIs available-RAM code.


svn path=/trunk/boinc/; revision=21304
2010-04-27 17:54:29 +00:00
David Anderson 7a4edbafab - client: "allow_remote_gui_rpc" is available via cc_config.xml
as well as command-line.
- client: show allow_remote_gui_rpc option,
    and contents of remote_host.cfg, in message log on startup
- client: code cleanup: move some options from
    CLIENT_STATE to OPTIONS

svn path=/trunk/boinc/; revision=21142
2010-04-07 21:11:15 +00:00
David Anderson e5ac873205 - boinccmd: add --set_gpu_mode command
- fix some compile warnings


svn path=/trunk/boinc/; revision=21002
2010-03-25 23:48:58 +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
David Anderson 13fe6a468c - client: code cleanup: most message code into a class
svn path=/trunk/boinc/; revision=20029
2009-12-23 19:52:34 +00:00
David Anderson 0d81e43197 - client: bug fixes to recent proxy info checkin
svn path=/trunk/boinc/; revision=19792
2009-12-06 04:32:57 +00:00
David Anderson 4bd0e4a2de - client: sort out proxy_info mess.
Source of proxy info (descending priority)
    - GUI RPC (Manager or boinccmd)
        This and only this is saved in state file.
        If neither HTTP nor SOCKS server name present,
        this is viewed as not present
    - environment vars
    - cc_config.xml

    Show sources of proxy info in message log.
    If one is present but overridden, show a message to that effect.

    This fixes a bug where someone had a proxy info env var and
    forgot about it.
    They got an erroneous message saying no proxy was being used.

svn path=/trunk/boinc/; revision=19785
2009-12-05 00:51:05 +00:00
David Anderson fb4797adfd - client: Add offset to LTD of non-eligible projects
only if the offset is positive.
- client: some cmdline args set members of config.
    However, config was being cleared after cmdline args were parsed,
    so these args had no effect.
    Instead, clear config before parsing cmdline

svn path=/trunk/boinc/; revision=19776
2009-12-03 19:09:45 +00:00
Rom Walton 329303b323 - Remove need for boinc.dll from the client.
client/
        hostinfo_win.cpp
        main.cpp
    clientctrl/
        boincsvcctrl.cpp
    clientgui/
        BOINCClientManager.cpp
        BOINCGUIApp.cpp
        BOINCGUIApp.h
        stdwx.h
    clienttray/
        tray_win.cpp
        tray_win.h
    lib/
        boinc_win.h
        daemonmgt.cpp (Deleted)
        daemonmgt.h (Added)
        daemonmgt_win.cpp (Added)
        idlemon.h (Added)
        idlemon_win.cpp (Added)
        idlemon_win.h (Deleted)
    win_build/
        boinc.sln
        boinc_dll.vcproj
        boincmgr.vcproj
        boincsvcctrl.vcproj
        boinctray.vcproj
        libboinc.vcproj

svn path=/trunk/boinc/; revision=19576
2009-11-13 21:23:15 +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
Charlie Fenton 77b990dea0 Mac: fix compile breaks
svn path=/trunk/boinc/; revision=18813
2009-08-04 05:52:04 +00:00
Rom Walton 4fe50b4e74 Quick Updates
svn path=/trunk/boinc/; revision=18811
2009-08-04 04:46:49 +00:00
Rom Walton b932711a80 - client: refactor the CC startup process, move majority of the
windows code into sysmon_win.cpp, .h
        
    client/
        client_state.cpp, .h
        cpp.h
        http_curl.cpp
        main.cpp, .h
        net_stats.cpp
        sysmon_win.cpp, .h

svn path=/trunk/boinc/; revision=18803
2009-08-03 20:55:00 +00:00
Rom Walton 050be1650f - client: Treat power events similiar to the snooze events, assign
a timeout so that when we resume from suspend/hybernate we
        restore the previous activity states.
        
    client/
        main.cpp

svn path=/trunk/boinc/; revision=18667
2009-07-23 19:56:17 +00:00
Rom Walton ed797510e4 - client: Remove some more Win9x code.
- client: Add some messages while handling Windows power events.
    
    client/
        main.cpp

svn path=/trunk/boinc/; revision=18665
2009-07-23 17:01:01 +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 a171360594 - remove wait arg of resume_client()
svn path=/trunk/boinc/; revision=17651
2009-03-24 17:44:16 +00:00
Rom Walton 4b40bac424 - client: handle power events on Windows via a seperate thread and
hidden window.  The basic code was already in place to handle
        logoff events on Win9x but now it is enabled for all Windows
        versions.
        
    client/
        app_control.cpp
        main.cpp, .h

svn path=/trunk/boinc/; revision=17649
2009-03-24 16:57:28 +00:00
David Anderson 3a8078bd5f - client: fix bugs in "abort_jobs_on_exit" feature:
- clear project backoffs when start abort sequence
    - don't back off projects if in abort sequence

svn path=/trunk/boinc/; revision=17375
2009-02-25 17:41:22 +00:00
David Anderson 3e98909ab6 - client: adjust debts at least every minute.
This fixes a bug that can cause debts to NEVER get updated.
- client: added "abort_jobs_on_exit" feature
    (available by --abort_jobs_on_exit cmdline
    or <abort_jobs_on_exit> in cc_config.xml).
    If set, when the client is exited by user request
    (this includes signals on Unix)
    it marks all pending jobs as aborted,
    and does a scheduler RPC to all projects with jobs.
    When these are completed the client exits.
    This is useful when BOINC is being used on grids
    where it is wiped clean after each run.

svn path=/trunk/boinc/; revision=17300
2009-02-18 19:47:02 +00:00
Charlie Fenton b5d88d4e8c client: Fix error from changeset 14415 which caused Mac client to call daemon() if it was passed -daemon argument, causing problems using launchd with KeepAlive option; fixes #782.
svn path=/trunk/boinc/; revision=16565
2008-11-26 13:43:10 +00:00
David Anderson eae866f743 - client: for CPU throttling, don't suspend apps that
are non-CPU-intensive or that use < 1 CPU (e.g., CUDA)
	- client: get rid of spurious "internal error,
		expected process to be executing" msg
	- diag: don't check heap on every alloc
	- fix a few compile warnings

svn path=/trunk/boinc/; revision=16323
2008-10-27 20:17:22 +00:00
David Anderson a5575875d6 - client: print a message, and recompute ncpus, when reread cc_config.xml
svn path=/trunk/boinc/; revision=16187
2008-10-10 17:23:51 +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