diff --git a/checkin_notes b/checkin_notes
index ea157c5d6d..678f095e49 100644
--- a/checkin_notes
+++ b/checkin_notes
@@ -1,1155 +1,1155 @@
-David Jan 2 2009
- - added a script to make profile.has_picture consistent
- with the images actually on disk
-
- html/ops/
- repair_profile_pictures.php
-
-David Jan 2 2009
- - client: more work-fetch stuff.
- No more per-project shortfall.
- It's getting pretty close.
-
- client/
- client_state.cpp
- client_types.cpp,h
- cs_scheduler.cpp
- rr_sim.cpp
- scheduler_op.cpp
- work_fetch.cpp,h
- lib/
- coproc.cpp,h
-
-Janus Jan 6 2009
- - Various translation fixes
- - Added Danish web interface translation
- - Added some Danish translation texts to the client translation file
- - Added Finnish web interface translation (contributed by ORE)
-
- html/
- inc/
- user.inc
- user/
- info.php
- languages/translations
- da.po (fully rewritten)
- fi.po (new)
- locales/da
- BOINC-Manager.po
-
-Charlie Jan 6 2009
- - client: preserve ownership when copying files to slot directory. Fixes
- a problem with Enigma@home which uses the tag.
-
- lib/
- filesys.cpp
-
-Rom 7 Jan 2009
- - Fix build environment so that it can build the client again
- (From Nicolás Alvarez)
-
- /
- configure.ac
- Makefile.am
- sea/
- make-tar.sh
- make-tar_debug.sh
-
-David 7 Jan 2009
- - get_project_config: don't send error text if no terms_of_use.txt
- - client: compute and store project work-fetch attributes
- fixes #820
-
- client/
- client_state.h
- work_fetch.h,cpp
- html/user/
- get_project_config.php
-
-Charlie Jan 6 2009
- - client: fix compiler warnings (formats didn't match data).
-
- client/
- work_fetch.cpp
-
-David 9 Jan 2009
- - client: connected_frac -1 is OK; fixes #821
-
- client/
- time_stats.cpp
-
-David 9 Jan 2009
- - scheduler: add support for resource-specific scheduler requests:
- - parse new request message elements
- (CPU and coproc requested seconds and instances)
- - decide how many jobs to send based on these params
- - select app version based on these params
- (may send both CPU and CUDA app versions for the same app!)
-
- lib/
- coproc.cpp
- sched/
- handle_request.cpp
- main.cpp,h
- sched_plan.cpp
- sched_send.cpp
- server_types.cpp,h
-
-David 9 Jan 2009
- - client: debugging CUDA-related stuff
- - client: if reset a project, clear its overall and per-resource backoffs
-
- client/
- client_state.cpp
- client_types.cpp
- cs_scheduler.cpp
- rr_sim.cpp
- scheduler_op.cpp
- sim.h
- work_fetch.cpp,h
- lib/
- coproc.cpp
-
-Charlie Jan 10 2009
- - Mac: Fix build scripts for new locale source directory layout.
-
- mac_installer/
- release_GridRepublic.sh
- release_boinc.sh
-
-David Jan 10 2009
- - client: work_req_seconds is CPU req, not max(CPU req, CUDA req).
- In order to work with the 6.7 client,
- projects with both CUDA and CPU jobs must use the newest scheduler code.
-
- client/
- work_fetch.cpp
-
-David Jan 11 2009
- - scheduler: if a Windows host has a GPU slower than 60 GFLOPS,
- don't send it CUDA jobs (they may cause BSOD);
- send user a message to this effect
-
- sched/
- sched_plan.cpp
- sched_send.cpp
- server_types.h
-
-David Jan 12 2009
- - lib: check return values of RSA_*() functions.
- Also fix a memory leak, missing RSA_free().
- Fixes #823.
-
- lib/
- crypt.cpp
- error_numbers.h
- str_util.cpp
-
-Rom 12 Jan 2009
- - WINSETUP: Update custom actions in case the goofy setup
- problems are related to old custom actions. I don't
- really think this is it, but i'm running out of ideas.
-
- win_build/installerv2/redist/Windows/src/boinccas/
- boinccas.rc
- win_build/installerv2/redist/Windows/Win32/
- boinccas.dll
- boinccas95.dll
- win_build/installerv2/redist/Windows/x64/
- boinccas.dll
- boinccas95.dll
-
-David 12 Jan 2009
- - web: add Eric's script for forum RSS
-
- html/user/
- forum_rss.php
-
-David 12 Jan 2009
- - scheduler, file upload handler: fix server runtime message in FCGI case
-
- sched/
- file_upload_handler.cpp
- handle_request.cpp
- main.cpp
- sched_util.cpp,h
- server_types.cpp
-
-David 12 Jan 2009
- - scheduler: initialize COPROC fields
-
- lib/
- coproc.cpp
-
-David 12 Jan 2009
- - scheduler: if we're not sending work because of the user's "no GPUs" pref,
- tell them so.
- - scheduler: fix bug that caused no CUDA jobs to be sent
-
- lib/
- coproc.cpp,h
- common_defs.h
- sched/
- handle_request.cpp
- sched_send.cpp
- sched_plan.cpp
- server_types.h
-
-David 12 Jan 2009
- - scheduler: bug fixes
-
- sched/
- handle_request.cpp
- sched_send.cpp
-
-David 12 Jan 2009
- - scheduler: bug fixes
-
- sched/
- sched_plan.cpp
-
-David 13 Jan 2009
- - GUI RPC: add the following items to PROJECT_CONFIG
- (corresponding to the get_project_config.php web RPC):
- - platforms: list of platforms supported by the project
- - sched_stopped: scheduler disabled
- - web_stopped: DB-driven web features disabled
- - min_client_version
- - GUI RPC: add the following items to CC_STATE:
- - platforms: list of platforms supported by the client
- (this replaces the unused )
- - GUI RPC: add the following items to PROJECT_LIST_ENTRY
- (entry in the "all projects" list):
- - platforms: list of platforms supported by the project
- - GUI RPC: move APP_VERSION pointer from WORKUNIT to RESULT;
- include plan class in APP_VERSION lookup.
- This completes the change of March 2008,
- and allows the Manager to work correctly when a project
- has two different app versions of the same (app, platform, version)
- running on a client at once (e.g., a CPU and a GPU app)
- - get_project_config.php: remove logic that checks client version.
- This page is accessed by PHP, not just by client
- - web: add link to forum page to get forum as RSS
-
- client/
- cs_statefile.cpp
- clientgui/
- DlgItemProperties.cpp
- MainDocument.cpp
- ViewWork.cpp
- sg_ViewTabPage.cpp
- html/user/
- get_project_config.php
- forum_rss.php
- forum_forum.php
- img/feed_logo.png (new)
- lib/
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
-
-David 13 Jan 2009
- - client: GPU bug fix; compile warning fixes
-
- client/
- client_types.cpp
- clientgui/
- BOINCTaskBar.cpp
- lib/
- filesys.cpp
- parse.cpp
-
-David 13 Jan 2009
- - GUI RPC: finish the changed started above;
- update the way that app versions are identified.
-
- Old: WORKUNIT contains version_num
- RESULT contains app_version_num (but only if running)
-
- New: Keep old fields so new client works with old manager.
- RESULT contains version_num, plan_class
- Manager: if RESULT doesn't have version/plan_class
- (because talking to old client)
- look up app version based on WU version num.
-
- clientgui/
- BOINCTaskBar.cpp
- sg_ViewTabPage.cpp
- MainDocument.cpp
- DlgItemProperties.cpp
- ViewWork.cpp
- lib/
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
-
-Eric 13 Jan 2009
- - 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
-
-
- ltmain.sh
- config.guess
- config.sub
- Makefile.incl
- m4/
- sah_check_lib.m4
- check_ssl.m4
- boinc_gtk.m4 (new)
- boinc_check_lib_with.m4 (new)
- libcurl.m4
- boinc_wxwidgets.m4
- sea/ (moved to packages/generic/sea)
- packages/ (new)
- generic/ (new)
- sea/ (new)
- Makefile.am
- client/
- Makefile.am
- hostinfo_unix.cpp
- sched/
- edf_sim.cpp
- sched_shmem.h
- sched_msgs.h
- sched_msgs.cpp
- sched_send.cpp
- handle_resuest.cpp
- file_upload_handler.cpp
- main.cpp
- sched_assign.cpp
- Makefile.am
- lib/
- boinc_cmd.cpp (moved to client)
- diagnostics.cpp
- prefs.cpp
- msg_log.h
- cert_sig.cpp
- Makefile.am
- zip/
- Makefile.am
- samples/
- example_app/
- Makefile
- api/
- Makefile.am
- clientgui/
- Makefile.am
- tools/
- backend_lib.cpp
- Makefile.am
- doc/
- manpages/
- Makefile.am
-
-David 13 Jan 2009
- - client/manager fixes
-
- client/
- client_types.cpp
- lib/
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
-
-David 14 Jan 2009
- - client: fix bug that caused estimated time to completion to increase
- while processing suspended
- Fixes #825
-
- client/
- app_control.cpp
-
-David 14 Jan 2009
- - client: clamp long term debts tp +- 1 week
- - client: fix CUDA debt calculation
- - client: don't accumulate debt if project->dont_request_more_work
- - client: improves messages
-
- client/
- rr_sim.cpp
-
-Rom 15 Jan 2009
- - WINSETUP: Fix the problem introduced where Enable Application
- execution wasn't working.
-
- win_build/installerv2/
- BOINC.ism
- BOINCx64.ism
-
-Rom 15 Jan 2009
- - MGR: Don't convert strings to ANSI juts to have to reconvert them
- back to Unicode. Fix several help link issues.
- Fixes #826
-
- clientgui/
- AdvancedFrame.cpp
- DlgAdvPreferences.cpp
- sg_BoincSimpleGUI.cpp
- sg_DlgMessages.cpp
- sg_DlgPreferences.cpp
- sg_ProjectsComponent.cpp
-
-David 15 Jan 2009
- - scheduler: improve message formatting; add flag
- for locality scheduling messages
-
- lib/
- msg_log.cpp
- sched/
- *.cpp
-
-David 15 Jan 2009
- - GUI RPC: add CUDA info to PROJECT struct
- - manager: display CUDA info in project properties page
- - manager: use struct assignment instead of copy() function
-
- client/
- boinc_cmd.cpp
- clientgui/
- AsyncRPC.cpp
- DlgItemProperties.cpp
- lib/
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
-
-David 15 Jan 2009
- - scheduler: remove clause in app_plan() that withholds jobs from slow GPUs.
- The SETI@home/CUDA app has been fixed so that it works on all GPUs.
-
- sched/
- sched_plan.cpp
-
-Eric 15 Jan 2009
- - build: Made static linkage of BOINC libraries the default for client,
- manager, and server components
-
- configure.ac
- tools/
- Makefile.am
- clientgui/
- Makefile.am
- client/
- Makefile.am
- samples/
- example_app/
- Makefile
-
-Charlie Jan 15 2009
- - client: boinc_copy ownership fix of 1/6/09 didn't work because it used
- system(cp ...) call, which invokes a shell, and POSIX specifies that
- shells run from an application use the real UID and GID not the
- effective UID and GID. Under Mac Sandbox security, we need to use
- the effective UID and GID. Changed boinc_copy to copy file directly.
- - MGR: On Mac, fix problems showing Manager window when it was minimized
- to Dock, especially if window was closed using Dock menu.
- - Mac: Fix XCode project for boinc_cmd.cpp moved to client/ from lib/.
-
- client/
- app_start.cpp
- clientgui/
- BOINCBaseFrame.cpp
- BOINCGUIApp.h
- BOINCTaskBar.cpp
- lib/
- filesys.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 16 Jan 2009
- - client: remove limits on LTD.
-
- client/
- work_fetch.cpp
-
-David 19 Jan 2009
- - scheduler: remove the config flag ,
- and add .
- The latter is used in calculating max jobs/day for a host;
- namely, it's host.max_results_day * (NCPUS + NCUDA*cuda_multiplier).
- Set it to 10 or so if you have CUDA apps.
- - scheduler: don't overload effective_ncpus();
- instead, add two new functions,
- max_results_day_multiplier() and max_wus_in_progress_multiplier()
- - scheduler: don't reduce max_results_day if we get an aborted job
- (it might have been aborted by the project;
- not appopriate to punish host in this case)
-
- db/
- boinc_db.h
- sched/
- main.cpp
- sched_config.cpp,h
- sched_result.cpp
- server_types.h
-
-David 20 Jan 2009
- - client: fix messages
-
- client/
- rr_sim.cpp
- work_fetch.cpp
-
-David 20 Jan 2009
- - scheduler: improve no-work messages
- - web: don't use DB conn in mysql_real_escape_string()
- (otherwise won't work if DB is down)
-
- html/inc/
- boinc_db.inc
- db_conn.inc
- sched/
- sched_plan.cpp.h
- sched_send.cpp
- server_types.h
-
-Charlie Jan 20 2009
- - Mac client: fix bug in build script so that curl-7.19.2 actually
- does build with c-ares 1.6.0. Fixes #830.
-
- mac_build/
- buildcurl.sh
-
-David 21 Jan 2009
- - scheduler: accept CUDA version 1.0
-
- sched/
- sched_plan.cpp
-
-David 21 Jan 2009
- - client: fetch work from non-CPU-intensive projects
-
- client/
- work_fetch.cpp,h
-
-David 21 Jan 2009
- - client: compile fix, remove spurious message
-
- client/
- work_fetch.cpp,h
-
-Rom 21 Jan 2009
- - MGR: Make sure the UI thread doesn't call a GUI RPC
- that uses the SET_LOCALE class.
-
- clientgui/
- BOINCClientManager.cpp
-
-Charlie Jan 22 2009
- - MGR: fix compile error.
-
- clientgui/
- BOINCClientManager.cpp
-
-David 22 Jan 2009
- - client: if an app has avg_ncpus < 1, run it at above-idle priority
- even if it doesn't use a coprocessor.
- - scheduler: added an "nci" (non CPU intensive) plan class
- to sched_plan.cpp. It declares the use of 1% of a CPU.
-
- The above two changes are intended to allow the QCN app to
- run at above_idle priority, which it needs in order to do 500Hz polling.
-
- - API: the std::string version of boinc_resolve_filename()
- acts the same as the char[] version.
-
- client/
- app.cpp
- app_start.cpp
- lib/
- app_ipc.cpp
- gui_rpc_client.cpp
- sched/
- sched_plan.cpp
-
-David 22 Jan 2009
- - web: when using adaptive replication, show a WU's instances
- if it has a canonical result, not if it's been assimilated
- (if the assimilator is not working, the latter causes
- WUs to be hidden longer than needed)
-
- html/user/
- workunit.php
-
-David 22 Jan 2009
- - client: simplify message describing scheduler request;
- to get work request details, use
-
- client/
- scheduler_op.cpp
-
-Eric 22 Jan 2009
- - build: reordered compiler flags checking.
- Fixed problems with finding location of wx-config
- when running with cached configuration.
- Made sure to check ${prefix}/lib when looking for
- libGL, libGLU, and libglut.
-
- m4/
- boinc_wxwidgets.m4
- ax_check_glut.m4
- ax_check_glu.m4
- ax_check_gl.m4
- boinc_set_compile_flags.m4
-
-David 22 Jan 2009
- - client: when preempting a process, remove it from memory if:
- 1) it uses a coprocessor
- 2) it has checkpointed since the client started
- 3) it's being preempted because of a user action
- (suspend job, project, or all processing)
- or user preference (time of day, computer in use)
- - scheduler: if shared mem seg doesn't exist,
- report it and don't crash
-
- client/
- app.h
- app_start.cpp
- app_control.cpp
- cpu_sched.cpp
- sched/
- main.cpp
-
-Charlie Jan 22 2009
- - client sandbox: add details in switcher_exec "execv failed" message.
- - MGR: Work around bug in generic list control GetSelectedItemCount()
- which caused incorrect update of buttons in Projects tab after
- detching from a project; remove redundant UpdateSelection() call.
-
- client/
- sandbox.cpp
- clientgui/
- BOINCBaseView.cpp
- BOINCListCtrl.cpp,.h
-
-David 23 Jan 2009
- - client: clear debts when reset project
- - client: respect work-fetch backoff for non-CPU-intensive projects
- - client: for non-CPU-intensive project, fetch new job
- if no currently running jobs
- - client: skip non-CPU-intensive projects in debt calculations
- - manager: show resource backoff times correctly
-
- client/
- app_control.cpp
- client_state.cpp
- client_types.cpp,h
- work_fetch.cpp,h
- clientgui/
- DlgItemProperties.cpp
-
-David 23 Jan 2009
- - scheduler: for plan class "nci", set flops to CPU speed;
- this will give consistent completion time estimates for existing WUs.
-
- sched/
- sched_plan.cpp
-
-David 23 Jan 2009
- - scheduler: fix spurious error message when using nci
-
- sched/
- sched_plan.cpp,h
- sched_send.cpp
-
-David 23 Jan 2009
- - web: fix apps.php so that it knows about plan class
-
- html/user/
- apps.php
-
-David 23 Jan 2009
- - API: possible compile fix for OS/2
-
- api/
- boinc_api.cpp
-
-David 23 Jan 2009
- - scheduler: reduce frequency of calls to work_needed()
-
- sched/
- sched_array.cpp
- sched_send.app
-
-David 23 Jan 2009
- - scheduler: make NCI app versions preferable to non-plan-class
-
- sched/
- sched_plan.cpp
-
-David 23 Jan 2009
- - scheduler: if client can't do plan class, don't complain about old client
-
- sched/
- sched_send.cpp
-
-Charlie Jan 23 2009
- - MGR: Remove override of GetSelectedItemCount() introduced yesterday;
- instead, call DeleteItem() rather than SetItemCount() when number of
- rows has been reduced, to allow virtual ListCtrl adjust its list of
- selected rows (and thus keep its count in sync with reality.)
-
- clientgui/
- BOINCBaseView.cpp
- BOINCListCtrl.cpp,.h
-
-David 23 Jan 2009
- - scheduler: initialize global
-
- sched/
- handle_request.cpp
-
-David 23 Jan 2009
- - scheduler: if anonymous platform, ignore coprocessor requests
- (since anonymous platforms apps are treated as CPU)
-
- sched/
- sched_send.cpp
- server_types.h
-
-Janus 25 Jan 2009
- - Fixed a major bug in the translation system which was causing a lot
- of people to receive the webpages in semi-random languages.
- - Added the ability for projects to decide whether they want the
- Q&A and Message Boards merged.
-
- html/
- inc/
- translation.inc
- user/
- forum_index.php
- project_sample/
- project.inc
-
-David 25 Jan 2009
- - client: don't request work for a resource if it has no shortfall.
- - client and server: get rid of coproc_cuda global.
-
- client/
- client_state.cpp,h
- work_fetch.cpp,h
- lib/
- coproc.cpp,h
- sched/
- handle_request.cpp
- sched_send.cpp
- server_types.cpp,h
-
-Rom 26 Jan 2009
- - MGR: Don't use wxT() to describe parameters passed to GUI RPCs.
-
- clientgui/
- BOINCClientManager.cpp
-
-David 26 Jan 2009
- - client: if we're doing an RPC (for whatever reason)
- to a non-CPU-intensive project without a job, ask for one.
-
- client/
- work_fetch.cpp
-
-Charlie Jan 26 2009
- - MGR: In CBOINCClientManager::StartupBOINCCore() allow time for Client
- to start up, to avoid repeated attempts which put spurious messages
- "Another instance Another instance of BOINC is running" in
- stderrdae.txt.
-
- clientgui/
- BOINCClientManager.cpp
-
-David 27 Jan 2009
- - client: change the LTD policy so that
- 1) net adjustment for eligible projects is zero;
- 2) max LTD is zero
- - scheduler: fix msgs so disk size is shown in GB
-
- client/
- work_fetch.cpp
- sched/
- sched_send.cpp
-
-Eric K 27 Jan 2009
- - SEA: Fixed problems building SEA
- - Manager: Fixed missing includes when building manager on unix.
-
- configure.ac
- packages/
- generic/
- sea/
- Makefile.am
- make-tar.sh
- clientgui/
- BOINCClientManager.cpp
-
-
-David 27 Jan 2009
- - scheduler: in get_app_version(), if we previously sent a CUDA app,
- but we don't need to send any more CUDA jobs,
- delete the BEST_APP_VERSION record and look for another app version.
- This lets the scheduler send both CUDA and CPU app versions
- for a given app in a single RPC.
-
- client/
- work_fetch.h
- sched/
- sched_send.cpp
-
-David 27 Jan 2009
- - client: if we're making an RPC to a project because of user request,
- clear the resource backoff times so that we potentially
- can ask the project for work.
-
- client/
- cs_scheduler.cpp
- work_fetch.cpp
-
-Eric K 27 Jan 2009
- - Manager: fixes to allow compilation on compilers that don't allow string
- concatenation within the _() macro.
-
- clientgui/
- WelcomePage.cpp
- ProxyInfoPage.cpp
-
-David 27 Jan 2009
- - lib: comment out perror()s in connection code.
-
- lib/
- gui_rpc_client.cpp
-
-David 27 Jan 2009
- - client: remove the "deadlines_missed" and "overworked"
- clauses from RSC_WORK_FETCH::choose_project()
-
- client/
- work_fetch.cpp,h
-
-David 27 Jan 2009
- - scheduler: don't count host as reliable if avg_turnaround is zero
- - client: restore notion of overworked;
- if a project is overworked for a resource R,
- don't fetch work for R unless there are idle instances
-
- client/
- work_fetch.cpp,h
- sched/
- sched_send.cpp
-
-David 28 Jan 2009
- - GUI RPC: the "get all projects" RPC now also returns account managers
-
- lib/
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
-
-Charlie Jan 28 2009
- - GUI RPC: Fix compiler warning (missing return value).
-
- lib/
- gui_rpc_client_ops.cpp
-
-Rom Jan 29 2009
- - MGR: Provide a way for skin creators to suppress error messages for
- missing resources.
-
- clientgui/
- SkinManager.cpp
-
-Rom Jan 29 2009
- - MGR: Save and Restore the last email address/user id used to attach
- to a project or account manager
-
- clientgui/
- AccountInfoPage.cpp
-
-David 29 Jan 2009
- - web: anywhere we show info about a host, show its GPUs too
- - web: add script to parse GPU completed-job log
- and generate summary data;
- also add page to display this data.
-
- html/
- inc/
- host.inc
- ops/
- analyze_coproc_log.php
- user/
- hosts_user.php
- show_coproc.php
-
-David 29 Jan 2009
- - client: if user requests RPC, do it even if project is backed off
- - manager: show backoff interval correctly
-
- client/
- cs_scheduler.cpp
- work_fetch.cpp
- clientgui/
- DlgItemProperties.cpp
-
-David 29 Jan 2009
- - scheduler: get effective RAM sizes and running fraction just once
-
- sched/
- sched_send.cpp
- server_types.h
-
-David 29 Jan 2009
- - client: update LTD correctly
-
- client/
- work_fetch.cpp
-
-Rom 29 Jan 2009
- - MGR: Add a virtual list box to display available account managers.
-
- clientgui/
- AccountManagerInfoPage.cpp, .h
- AccountManagerProcessingPage.cpp
- AccountManagerPropertiesPage.cpp
- ProjectInfoPage.cpp, .h
- WizardAccountManager.cpp
- lib/
- gui_rpc_client_ops.cpp
-
-Rom 29 Jan 2009
- - MGR: Filter project list so that it shows only projects supported
- by the core client.
-
- clientgui/
- ProjectInfoPage.cpp, .h
-
-Charlie Jan 29 2009
- - MGR: call UpdateSelection() from OnListRender() instead of from
- RestoreSelections(). Fixes #837.
-
- clientgui/
- BOINCBaseView.cpp
-
-Charlie Jan 30 2009
- - MGR: Suppress Skin Manager error messages by default; enable them
- only if the Manager is launched from the command line with an
- argument -c or --checkskins.
-
- clientgui/
- BOINCGUIApp.cpp, .h
- SkinManager.cpp, .h
-
-David 30 Jan 2009
- - Work fetch / scheduler:
- There are two mechanisms to prevent the scheduler from
- sending jobs that won't finish by their deadline.
- Simple mechanism:
- The client sends the interval x for which CPUs are projected
- to be saturated.
- Given a job with estimated duration y,
- the scheduler doesn't send it if x + y exceeds the delay bound.
- If it does send it, x is incremented by y.
- Complex mechanism:
- Client sends workload description.
- Scheduler does EDF simulation, sees if deadlines are missed.
- The only project using this AFAIK is BOINC alpha test.
- Neither of these mechanisms takes coprocessors into account,
- and as a result jobs could be sent that are doomed to
- miss their deadline.
- This checkin adds coprocessor awareness to the Simple mechanism.
-
- Changes:
- Client:
- compute estimated delay (i.e. time until non-saturation)
- for coprocessors as well as CPU.
- Send them in scheduler request as part of coproc descriptor.
- Scheduler:
- Keep track of estimated delays separately for different resources
- - client: fixed bug that computed CPU estimated delay incorrectly
- - client: the work request (req_secs) for a resource is the min
- of the project's share and the shortfall.
-
- client/
- cs_scheduler.cpp
- rr_sim.cpp
- work_fetch.cpp,h
- html/inc/
- translation.inc
- lib/
- coproc.cpp,h
- sched/
- sched_send.cpp
- server_types.cpp,h
-
-David 30 Jan 2009
- - client: computation of # idle CUDA instances was wrong
-
- client/
- rr_sim.cpp
-
-David 30 Jan 2009
- - scheduler: show message whether miss or meet deadline
-
- html/user/
- show_coproc.php
- top_users.php
- sched/
- sched_send.cpp
-
-David 30 Jan 2009
- - client: tweak work fetch messages
- - client: buffer 2000 messages instead of 1000
-
- client/
- client_msgs.cpp
- work_fetch.cpp
- lib/
- coproc.cpp
-
-David 30 Jan 2009
- - client: work fetch fixes
-
- client/
- work_fetch.cpp
- scheduler_op.cpp
-
-David 31 Jan 2009
- - client: there was a problem with how the round simulator
- worked in the presence of coprocessors.
- The simulator maintained per-project queues of pending jobs.
- When a job finished (in the simulation) it would get
- one or more jobs from that project's pending queue.
-
- The problem: this could cause "holes" in the scheduling of GPUs,
- and produce an erroneous nonzero shortfall for GPUs,
- leading to infinite work fetch.
-
- The solution: maintain a separate (per-resource, not per--project)
- queue of pending coprocessor jobs.
- When a coprocessor job finishes,
- start pending jobs from the queue for that resource.
-
- Another change: the simulator did strict reservation of coprocessors.
- If there are 2 instances of CUDA,
- and a 1-instance job is running in the simulation,
- it wouldn't start an additional 2-instance job.
- This also can cause erroneous nonzero shortfalls.
-
- So instead, schedule coprocessors like CPUs, i.e. saturate them.
- This can cause distorted completion time estimates,
- but it's better than infinite work fetch.
-
- client/
- client_types.cpp,h
- rr_sim.cpp,h
- work_fetch.cpp,h
-
-David 1 Feb 2009
- - client: code cleanup
-
- client/
- rr_sim.cpp,h
- work_fetch.cpp,h
-
-David 2 Feb 2009
- - client: code cleanup
-
- client/
- rr_sim.cpp,h
- work_fetch.cpp,h
-
-David 2 Feb 2009
- - Manager: change terms for STD, LTD
- - web: change script that locks old threads to exempt team forums
-
- clientgui/
- DlgItemProperties.cpp
- html/ops/
- autolock.php
-
-David 3 Feb 2009
- - client: fix bug that caused infinite sched RPCs if project down
-
- client/
- cs_scheduler.cpp
- scheduler_op.cpp
-
-Rom 3 Feb 2009
- - SCROPENGL: Checkin the files needed for the new OpenGL based
- BOINC screensaver.
-
- clientscr/
- boinc_ss_opengl.h
- boinc_ss_opengl.rc
- screensaver_opengl.cpp
- screensaver_opengl.h
- win_build/
- boinc.sln
- boinc_ss_opengl.vcproj
-
-David 3 Feb 2009
- - renamed boinc_ss_opengl to ss_app
-
-David 3 Feb 2009
- - GUI RPC: made password file read into function
- - lib: minimized FCGI library
-
- client/
- boinc_cmd.cpp
- file_names.h
- lib/
- gui_rpc_client.cpp,h
- common_defs.h
- Makefile.am
-
-Charlie Feb 4 2009
- -SS: Begin work on upgrading screensaver coordinator for new functionality:
- - add filenames for ss config file and default OpenLG ss executable
- - add sandbox security support for these 2 files.
-
- client/
- check_security.cpp
- file_names.h
- clientgui/
- mac/
- SetupSecurity.cpp
- mac_build/
- Mac_SA_Secure.sh
-
-Rom 5 Feb 2008
- - MGR: Display all projects in the project list but disable the text control
- is the project doesn't list a supported platform. If the user clicks
- on it display a message box stating that once attached the user may not
- get any work.
-
- clientgui/
- AccountManagerInfoPage.cpp
- ProjectInfoPage.cpp, .h
- ProjectListCtrl.cpp, .h
-
-Charlie Feb 5 2009
- -SS: Implement basic new functionality in screensaver coordinator.
- - Note: this is tested on Mac only at this point.
-
- client/
- check_security.cpp
- file_names.h
- clientscr/
- screensaver.cpp, .h
- Mac_Saver_Module.h
- screensaver_win.h
- lib/
- common_defs.h
+David Jan 2 2009
+ - added a script to make profile.has_picture consistent
+ with the images actually on disk
+
+ html/ops/
+ repair_profile_pictures.php
+
+David Jan 2 2009
+ - client: more work-fetch stuff.
+ No more per-project shortfall.
+ It's getting pretty close.
+
+ client/
+ client_state.cpp
+ client_types.cpp,h
+ cs_scheduler.cpp
+ rr_sim.cpp
+ scheduler_op.cpp
+ work_fetch.cpp,h
+ lib/
+ coproc.cpp,h
+
+Janus Jan 6 2009
+ - Various translation fixes
+ - Added Danish web interface translation
+ - Added some Danish translation texts to the client translation file
+ - Added Finnish web interface translation (contributed by ORE)
+
+ html/
+ inc/
+ user.inc
+ user/
+ info.php
+ languages/translations
+ da.po (fully rewritten)
+ fi.po (new)
+ locales/da
+ BOINC-Manager.po
+
+Charlie Jan 6 2009
+ - client: preserve ownership when copying files to slot directory. Fixes
+ a problem with Enigma@home which uses the tag.
+
+ lib/
+ filesys.cpp
+
+Rom 7 Jan 2009
+ - Fix build environment so that it can build the client again
+ (From Nicolás Alvarez)
+
+ /
+ configure.ac
+ Makefile.am
+ sea/
+ make-tar.sh
+ make-tar_debug.sh
+
+David 7 Jan 2009
+ - get_project_config: don't send error text if no terms_of_use.txt
+ - client: compute and store project work-fetch attributes
+ fixes #820
+
+ client/
+ client_state.h
+ work_fetch.h,cpp
+ html/user/
+ get_project_config.php
+
+Charlie Jan 6 2009
+ - client: fix compiler warnings (formats didn't match data).
+
+ client/
+ work_fetch.cpp
+
+David 9 Jan 2009
+ - client: connected_frac -1 is OK; fixes #821
+
+ client/
+ time_stats.cpp
+
+David 9 Jan 2009
+ - scheduler: add support for resource-specific scheduler requests:
+ - parse new request message elements
+ (CPU and coproc requested seconds and instances)
+ - decide how many jobs to send based on these params
+ - select app version based on these params
+ (may send both CPU and CUDA app versions for the same app!)
+
+ lib/
+ coproc.cpp
+ sched/
+ handle_request.cpp
+ main.cpp,h
+ sched_plan.cpp
+ sched_send.cpp
+ server_types.cpp,h
+
+David 9 Jan 2009
+ - client: debugging CUDA-related stuff
+ - client: if reset a project, clear its overall and per-resource backoffs
+
+ client/
+ client_state.cpp
+ client_types.cpp
+ cs_scheduler.cpp
+ rr_sim.cpp
+ scheduler_op.cpp
+ sim.h
+ work_fetch.cpp,h
+ lib/
+ coproc.cpp
+
+Charlie Jan 10 2009
+ - Mac: Fix build scripts for new locale source directory layout.
+
+ mac_installer/
+ release_GridRepublic.sh
+ release_boinc.sh
+
+David Jan 10 2009
+ - client: work_req_seconds is CPU req, not max(CPU req, CUDA req).
+ In order to work with the 6.7 client,
+ projects with both CUDA and CPU jobs must use the newest scheduler code.
+
+ client/
+ work_fetch.cpp
+
+David Jan 11 2009
+ - scheduler: if a Windows host has a GPU slower than 60 GFLOPS,
+ don't send it CUDA jobs (they may cause BSOD);
+ send user a message to this effect
+
+ sched/
+ sched_plan.cpp
+ sched_send.cpp
+ server_types.h
+
+David Jan 12 2009
+ - lib: check return values of RSA_*() functions.
+ Also fix a memory leak, missing RSA_free().
+ Fixes #823.
+
+ lib/
+ crypt.cpp
+ error_numbers.h
+ str_util.cpp
+
+Rom 12 Jan 2009
+ - WINSETUP: Update custom actions in case the goofy setup
+ problems are related to old custom actions. I don't
+ really think this is it, but i'm running out of ideas.
+
+ win_build/installerv2/redist/Windows/src/boinccas/
+ boinccas.rc
+ win_build/installerv2/redist/Windows/Win32/
+ boinccas.dll
+ boinccas95.dll
+ win_build/installerv2/redist/Windows/x64/
+ boinccas.dll
+ boinccas95.dll
+
+David 12 Jan 2009
+ - web: add Eric's script for forum RSS
+
+ html/user/
+ forum_rss.php
+
+David 12 Jan 2009
+ - scheduler, file upload handler: fix server runtime message in FCGI case
+
+ sched/
+ file_upload_handler.cpp
+ handle_request.cpp
+ main.cpp
+ sched_util.cpp,h
+ server_types.cpp
+
+David 12 Jan 2009
+ - scheduler: initialize COPROC fields
+
+ lib/
+ coproc.cpp
+
+David 12 Jan 2009
+ - scheduler: if we're not sending work because of the user's "no GPUs" pref,
+ tell them so.
+ - scheduler: fix bug that caused no CUDA jobs to be sent
+
+ lib/
+ coproc.cpp,h
+ common_defs.h
+ sched/
+ handle_request.cpp
+ sched_send.cpp
+ sched_plan.cpp
+ server_types.h
+
+David 12 Jan 2009
+ - scheduler: bug fixes
+
+ sched/
+ handle_request.cpp
+ sched_send.cpp
+
+David 12 Jan 2009
+ - scheduler: bug fixes
+
+ sched/
+ sched_plan.cpp
+
+David 13 Jan 2009
+ - GUI RPC: add the following items to PROJECT_CONFIG
+ (corresponding to the get_project_config.php web RPC):
+ - platforms: list of platforms supported by the project
+ - sched_stopped: scheduler disabled
+ - web_stopped: DB-driven web features disabled
+ - min_client_version
+ - GUI RPC: add the following items to CC_STATE:
+ - platforms: list of platforms supported by the client
+ (this replaces the unused )
+ - GUI RPC: add the following items to PROJECT_LIST_ENTRY
+ (entry in the "all projects" list):
+ - platforms: list of platforms supported by the project
+ - GUI RPC: move APP_VERSION pointer from WORKUNIT to RESULT;
+ include plan class in APP_VERSION lookup.
+ This completes the change of March 2008,
+ and allows the Manager to work correctly when a project
+ has two different app versions of the same (app, platform, version)
+ running on a client at once (e.g., a CPU and a GPU app)
+ - get_project_config.php: remove logic that checks client version.
+ This page is accessed by PHP, not just by client
+ - web: add link to forum page to get forum as RSS
+
+ client/
+ cs_statefile.cpp
+ clientgui/
+ DlgItemProperties.cpp
+ MainDocument.cpp
+ ViewWork.cpp
+ sg_ViewTabPage.cpp
+ html/user/
+ get_project_config.php
+ forum_rss.php
+ forum_forum.php
+ img/feed_logo.png (new)
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+
+David 13 Jan 2009
+ - client: GPU bug fix; compile warning fixes
+
+ client/
+ client_types.cpp
+ clientgui/
+ BOINCTaskBar.cpp
+ lib/
+ filesys.cpp
+ parse.cpp
+
+David 13 Jan 2009
+ - GUI RPC: finish the changed started above;
+ update the way that app versions are identified.
+
+ Old: WORKUNIT contains version_num
+ RESULT contains app_version_num (but only if running)
+
+ New: Keep old fields so new client works with old manager.
+ RESULT contains version_num, plan_class
+ Manager: if RESULT doesn't have version/plan_class
+ (because talking to old client)
+ look up app version based on WU version num.
+
+ clientgui/
+ BOINCTaskBar.cpp
+ sg_ViewTabPage.cpp
+ MainDocument.cpp
+ DlgItemProperties.cpp
+ ViewWork.cpp
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+
+Eric 13 Jan 2009
+ - 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
+
+
+ ltmain.sh
+ config.guess
+ config.sub
+ Makefile.incl
+ m4/
+ sah_check_lib.m4
+ check_ssl.m4
+ boinc_gtk.m4 (new)
+ boinc_check_lib_with.m4 (new)
+ libcurl.m4
+ boinc_wxwidgets.m4
+ sea/ (moved to packages/generic/sea)
+ packages/ (new)
+ generic/ (new)
+ sea/ (new)
+ Makefile.am
+ client/
+ Makefile.am
+ hostinfo_unix.cpp
+ sched/
+ edf_sim.cpp
+ sched_shmem.h
+ sched_msgs.h
+ sched_msgs.cpp
+ sched_send.cpp
+ handle_resuest.cpp
+ file_upload_handler.cpp
+ main.cpp
+ sched_assign.cpp
+ Makefile.am
+ lib/
+ boinc_cmd.cpp (moved to client)
+ diagnostics.cpp
+ prefs.cpp
+ msg_log.h
+ cert_sig.cpp
+ Makefile.am
+ zip/
+ Makefile.am
+ samples/
+ example_app/
+ Makefile
+ api/
+ Makefile.am
+ clientgui/
+ Makefile.am
+ tools/
+ backend_lib.cpp
+ Makefile.am
+ doc/
+ manpages/
+ Makefile.am
+
+David 13 Jan 2009
+ - client/manager fixes
+
+ client/
+ client_types.cpp
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+
+David 14 Jan 2009
+ - client: fix bug that caused estimated time to completion to increase
+ while processing suspended
+ Fixes #825
+
+ client/
+ app_control.cpp
+
+David 14 Jan 2009
+ - client: clamp long term debts tp +- 1 week
+ - client: fix CUDA debt calculation
+ - client: don't accumulate debt if project->dont_request_more_work
+ - client: improves messages
+
+ client/
+ rr_sim.cpp
+
+Rom 15 Jan 2009
+ - WINSETUP: Fix the problem introduced where Enable Application
+ execution wasn't working.
+
+ win_build/installerv2/
+ BOINC.ism
+ BOINCx64.ism
+
+Rom 15 Jan 2009
+ - MGR: Don't convert strings to ANSI juts to have to reconvert them
+ back to Unicode. Fix several help link issues.
+ Fixes #826
+
+ clientgui/
+ AdvancedFrame.cpp
+ DlgAdvPreferences.cpp
+ sg_BoincSimpleGUI.cpp
+ sg_DlgMessages.cpp
+ sg_DlgPreferences.cpp
+ sg_ProjectsComponent.cpp
+
+David 15 Jan 2009
+ - scheduler: improve message formatting; add flag
+ for locality scheduling messages
+
+ lib/
+ msg_log.cpp
+ sched/
+ *.cpp
+
+David 15 Jan 2009
+ - GUI RPC: add CUDA info to PROJECT struct
+ - manager: display CUDA info in project properties page
+ - manager: use struct assignment instead of copy() function
+
+ client/
+ boinc_cmd.cpp
+ clientgui/
+ AsyncRPC.cpp
+ DlgItemProperties.cpp
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+
+David 15 Jan 2009
+ - scheduler: remove clause in app_plan() that withholds jobs from slow GPUs.
+ The SETI@home/CUDA app has been fixed so that it works on all GPUs.
+
+ sched/
+ sched_plan.cpp
+
+Eric 15 Jan 2009
+ - build: Made static linkage of BOINC libraries the default for client,
+ manager, and server components
+
+ configure.ac
+ tools/
+ Makefile.am
+ clientgui/
+ Makefile.am
+ client/
+ Makefile.am
+ samples/
+ example_app/
+ Makefile
+
+Charlie Jan 15 2009
+ - client: boinc_copy ownership fix of 1/6/09 didn't work because it used
+ system(cp ...) call, which invokes a shell, and POSIX specifies that
+ shells run from an application use the real UID and GID not the
+ effective UID and GID. Under Mac Sandbox security, we need to use
+ the effective UID and GID. Changed boinc_copy to copy file directly.
+ - MGR: On Mac, fix problems showing Manager window when it was minimized
+ to Dock, especially if window was closed using Dock menu.
+ - Mac: Fix XCode project for boinc_cmd.cpp moved to client/ from lib/.
+
+ client/
+ app_start.cpp
+ clientgui/
+ BOINCBaseFrame.cpp
+ BOINCGUIApp.h
+ BOINCTaskBar.cpp
+ lib/
+ filesys.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 16 Jan 2009
+ - client: remove limits on LTD.
+
+ client/
+ work_fetch.cpp
+
+David 19 Jan 2009
+ - scheduler: remove the config flag ,
+ and add .
+ The latter is used in calculating max jobs/day for a host;
+ namely, it's host.max_results_day * (NCPUS + NCUDA*cuda_multiplier).
+ Set it to 10 or so if you have CUDA apps.
+ - scheduler: don't overload effective_ncpus();
+ instead, add two new functions,
+ max_results_day_multiplier() and max_wus_in_progress_multiplier()
+ - scheduler: don't reduce max_results_day if we get an aborted job
+ (it might have been aborted by the project;
+ not appopriate to punish host in this case)
+
+ db/
+ boinc_db.h
+ sched/
+ main.cpp
+ sched_config.cpp,h
+ sched_result.cpp
+ server_types.h
+
+David 20 Jan 2009
+ - client: fix messages
+
+ client/
+ rr_sim.cpp
+ work_fetch.cpp
+
+David 20 Jan 2009
+ - scheduler: improve no-work messages
+ - web: don't use DB conn in mysql_real_escape_string()
+ (otherwise won't work if DB is down)
+
+ html/inc/
+ boinc_db.inc
+ db_conn.inc
+ sched/
+ sched_plan.cpp.h
+ sched_send.cpp
+ server_types.h
+
+Charlie Jan 20 2009
+ - Mac client: fix bug in build script so that curl-7.19.2 actually
+ does build with c-ares 1.6.0. Fixes #830.
+
+ mac_build/
+ buildcurl.sh
+
+David 21 Jan 2009
+ - scheduler: accept CUDA version 1.0
+
+ sched/
+ sched_plan.cpp
+
+David 21 Jan 2009
+ - client: fetch work from non-CPU-intensive projects
+
+ client/
+ work_fetch.cpp,h
+
+David 21 Jan 2009
+ - client: compile fix, remove spurious message
+
+ client/
+ work_fetch.cpp,h
+
+Rom 21 Jan 2009
+ - MGR: Make sure the UI thread doesn't call a GUI RPC
+ that uses the SET_LOCALE class.
+
+ clientgui/
+ BOINCClientManager.cpp
+
+Charlie Jan 22 2009
+ - MGR: fix compile error.
+
+ clientgui/
+ BOINCClientManager.cpp
+
+David 22 Jan 2009
+ - client: if an app has avg_ncpus < 1, run it at above-idle priority
+ even if it doesn't use a coprocessor.
+ - scheduler: added an "nci" (non CPU intensive) plan class
+ to sched_plan.cpp. It declares the use of 1% of a CPU.
+
+ The above two changes are intended to allow the QCN app to
+ run at above_idle priority, which it needs in order to do 500Hz polling.
+
+ - API: the std::string version of boinc_resolve_filename()
+ acts the same as the char[] version.
+
+ client/
+ app.cpp
+ app_start.cpp
+ lib/
+ app_ipc.cpp
+ gui_rpc_client.cpp
+ sched/
+ sched_plan.cpp
+
+David 22 Jan 2009
+ - web: when using adaptive replication, show a WU's instances
+ if it has a canonical result, not if it's been assimilated
+ (if the assimilator is not working, the latter causes
+ WUs to be hidden longer than needed)
+
+ html/user/
+ workunit.php
+
+David 22 Jan 2009
+ - client: simplify message describing scheduler request;
+ to get work request details, use
+
+ client/
+ scheduler_op.cpp
+
+Eric 22 Jan 2009
+ - build: reordered compiler flags checking.
+ Fixed problems with finding location of wx-config
+ when running with cached configuration.
+ Made sure to check ${prefix}/lib when looking for
+ libGL, libGLU, and libglut.
+
+ m4/
+ boinc_wxwidgets.m4
+ ax_check_glut.m4
+ ax_check_glu.m4
+ ax_check_gl.m4
+ boinc_set_compile_flags.m4
+
+David 22 Jan 2009
+ - client: when preempting a process, remove it from memory if:
+ 1) it uses a coprocessor
+ 2) it has checkpointed since the client started
+ 3) it's being preempted because of a user action
+ (suspend job, project, or all processing)
+ or user preference (time of day, computer in use)
+ - scheduler: if shared mem seg doesn't exist,
+ report it and don't crash
+
+ client/
+ app.h
+ app_start.cpp
+ app_control.cpp
+ cpu_sched.cpp
+ sched/
+ main.cpp
+
+Charlie Jan 22 2009
+ - client sandbox: add details in switcher_exec "execv failed" message.
+ - MGR: Work around bug in generic list control GetSelectedItemCount()
+ which caused incorrect update of buttons in Projects tab after
+ detching from a project; remove redundant UpdateSelection() call.
+
+ client/
+ sandbox.cpp
+ clientgui/
+ BOINCBaseView.cpp
+ BOINCListCtrl.cpp,.h
+
+David 23 Jan 2009
+ - client: clear debts when reset project
+ - client: respect work-fetch backoff for non-CPU-intensive projects
+ - client: for non-CPU-intensive project, fetch new job
+ if no currently running jobs
+ - client: skip non-CPU-intensive projects in debt calculations
+ - manager: show resource backoff times correctly
+
+ client/
+ app_control.cpp
+ client_state.cpp
+ client_types.cpp,h
+ work_fetch.cpp,h
+ clientgui/
+ DlgItemProperties.cpp
+
+David 23 Jan 2009
+ - scheduler: for plan class "nci", set flops to CPU speed;
+ this will give consistent completion time estimates for existing WUs.
+
+ sched/
+ sched_plan.cpp
+
+David 23 Jan 2009
+ - scheduler: fix spurious error message when using nci
+
+ sched/
+ sched_plan.cpp,h
+ sched_send.cpp
+
+David 23 Jan 2009
+ - web: fix apps.php so that it knows about plan class
+
+ html/user/
+ apps.php
+
+David 23 Jan 2009
+ - API: possible compile fix for OS/2
+
+ api/
+ boinc_api.cpp
+
+David 23 Jan 2009
+ - scheduler: reduce frequency of calls to work_needed()
+
+ sched/
+ sched_array.cpp
+ sched_send.app
+
+David 23 Jan 2009
+ - scheduler: make NCI app versions preferable to non-plan-class
+
+ sched/
+ sched_plan.cpp
+
+David 23 Jan 2009
+ - scheduler: if client can't do plan class, don't complain about old client
+
+ sched/
+ sched_send.cpp
+
+Charlie Jan 23 2009
+ - MGR: Remove override of GetSelectedItemCount() introduced yesterday;
+ instead, call DeleteItem() rather than SetItemCount() when number of
+ rows has been reduced, to allow virtual ListCtrl adjust its list of
+ selected rows (and thus keep its count in sync with reality.)
+
+ clientgui/
+ BOINCBaseView.cpp
+ BOINCListCtrl.cpp,.h
+
+David 23 Jan 2009
+ - scheduler: initialize global
+
+ sched/
+ handle_request.cpp
+
+David 23 Jan 2009
+ - scheduler: if anonymous platform, ignore coprocessor requests
+ (since anonymous platforms apps are treated as CPU)
+
+ sched/
+ sched_send.cpp
+ server_types.h
+
+Janus 25 Jan 2009
+ - Fixed a major bug in the translation system which was causing a lot
+ of people to receive the webpages in semi-random languages.
+ - Added the ability for projects to decide whether they want the
+ Q&A and Message Boards merged.
+
+ html/
+ inc/
+ translation.inc
+ user/
+ forum_index.php
+ project_sample/
+ project.inc
+
+David 25 Jan 2009
+ - client: don't request work for a resource if it has no shortfall.
+ - client and server: get rid of coproc_cuda global.
+
+ client/
+ client_state.cpp,h
+ work_fetch.cpp,h
+ lib/
+ coproc.cpp,h
+ sched/
+ handle_request.cpp
+ sched_send.cpp
+ server_types.cpp,h
+
+Rom 26 Jan 2009
+ - MGR: Don't use wxT() to describe parameters passed to GUI RPCs.
+
+ clientgui/
+ BOINCClientManager.cpp
+
+David 26 Jan 2009
+ - client: if we're doing an RPC (for whatever reason)
+ to a non-CPU-intensive project without a job, ask for one.
+
+ client/
+ work_fetch.cpp
+
+Charlie Jan 26 2009
+ - MGR: In CBOINCClientManager::StartupBOINCCore() allow time for Client
+ to start up, to avoid repeated attempts which put spurious messages
+ "Another instance Another instance of BOINC is running" in
+ stderrdae.txt.
+
+ clientgui/
+ BOINCClientManager.cpp
+
+David 27 Jan 2009
+ - client: change the LTD policy so that
+ 1) net adjustment for eligible projects is zero;
+ 2) max LTD is zero
+ - scheduler: fix msgs so disk size is shown in GB
+
+ client/
+ work_fetch.cpp
+ sched/
+ sched_send.cpp
+
+Eric K 27 Jan 2009
+ - SEA: Fixed problems building SEA
+ - Manager: Fixed missing includes when building manager on unix.
+
+ configure.ac
+ packages/
+ generic/
+ sea/
+ Makefile.am
+ make-tar.sh
+ clientgui/
+ BOINCClientManager.cpp
+
+
+David 27 Jan 2009
+ - scheduler: in get_app_version(), if we previously sent a CUDA app,
+ but we don't need to send any more CUDA jobs,
+ delete the BEST_APP_VERSION record and look for another app version.
+ This lets the scheduler send both CUDA and CPU app versions
+ for a given app in a single RPC.
+
+ client/
+ work_fetch.h
+ sched/
+ sched_send.cpp
+
+David 27 Jan 2009
+ - client: if we're making an RPC to a project because of user request,
+ clear the resource backoff times so that we potentially
+ can ask the project for work.
+
+ client/
+ cs_scheduler.cpp
+ work_fetch.cpp
+
+Eric K 27 Jan 2009
+ - Manager: fixes to allow compilation on compilers that don't allow string
+ concatenation within the _() macro.
+
+ clientgui/
+ WelcomePage.cpp
+ ProxyInfoPage.cpp
+
+David 27 Jan 2009
+ - lib: comment out perror()s in connection code.
+
+ lib/
+ gui_rpc_client.cpp
+
+David 27 Jan 2009
+ - client: remove the "deadlines_missed" and "overworked"
+ clauses from RSC_WORK_FETCH::choose_project()
+
+ client/
+ work_fetch.cpp,h
+
+David 27 Jan 2009
+ - scheduler: don't count host as reliable if avg_turnaround is zero
+ - client: restore notion of overworked;
+ if a project is overworked for a resource R,
+ don't fetch work for R unless there are idle instances
+
+ client/
+ work_fetch.cpp,h
+ sched/
+ sched_send.cpp
+
+David 28 Jan 2009
+ - GUI RPC: the "get all projects" RPC now also returns account managers
+
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+
+Charlie Jan 28 2009
+ - GUI RPC: Fix compiler warning (missing return value).
+
+ lib/
+ gui_rpc_client_ops.cpp
+
+Rom Jan 29 2009
+ - MGR: Provide a way for skin creators to suppress error messages for
+ missing resources.
+
+ clientgui/
+ SkinManager.cpp
+
+Rom Jan 29 2009
+ - MGR: Save and Restore the last email address/user id used to attach
+ to a project or account manager
+
+ clientgui/
+ AccountInfoPage.cpp
+
+David 29 Jan 2009
+ - web: anywhere we show info about a host, show its GPUs too
+ - web: add script to parse GPU completed-job log
+ and generate summary data;
+ also add page to display this data.
+
+ html/
+ inc/
+ host.inc
+ ops/
+ analyze_coproc_log.php
+ user/
+ hosts_user.php
+ show_coproc.php
+
+David 29 Jan 2009
+ - client: if user requests RPC, do it even if project is backed off
+ - manager: show backoff interval correctly
+
+ client/
+ cs_scheduler.cpp
+ work_fetch.cpp
+ clientgui/
+ DlgItemProperties.cpp
+
+David 29 Jan 2009
+ - scheduler: get effective RAM sizes and running fraction just once
+
+ sched/
+ sched_send.cpp
+ server_types.h
+
+David 29 Jan 2009
+ - client: update LTD correctly
+
+ client/
+ work_fetch.cpp
+
+Rom 29 Jan 2009
+ - MGR: Add a virtual list box to display available account managers.
+
+ clientgui/
+ AccountManagerInfoPage.cpp, .h
+ AccountManagerProcessingPage.cpp
+ AccountManagerPropertiesPage.cpp
+ ProjectInfoPage.cpp, .h
+ WizardAccountManager.cpp
+ lib/
+ gui_rpc_client_ops.cpp
+
+Rom 29 Jan 2009
+ - MGR: Filter project list so that it shows only projects supported
+ by the core client.
+
+ clientgui/
+ ProjectInfoPage.cpp, .h
+
+Charlie Jan 29 2009
+ - MGR: call UpdateSelection() from OnListRender() instead of from
+ RestoreSelections(). Fixes #837.
+
+ clientgui/
+ BOINCBaseView.cpp
+
+Charlie Jan 30 2009
+ - MGR: Suppress Skin Manager error messages by default; enable them
+ only if the Manager is launched from the command line with an
+ argument -c or --checkskins.
+
+ clientgui/
+ BOINCGUIApp.cpp, .h
+ SkinManager.cpp, .h
+
+David 30 Jan 2009
+ - Work fetch / scheduler:
+ There are two mechanisms to prevent the scheduler from
+ sending jobs that won't finish by their deadline.
+ Simple mechanism:
+ The client sends the interval x for which CPUs are projected
+ to be saturated.
+ Given a job with estimated duration y,
+ the scheduler doesn't send it if x + y exceeds the delay bound.
+ If it does send it, x is incremented by y.
+ Complex mechanism:
+ Client sends workload description.
+ Scheduler does EDF simulation, sees if deadlines are missed.
+ The only project using this AFAIK is BOINC alpha test.
+ Neither of these mechanisms takes coprocessors into account,
+ and as a result jobs could be sent that are doomed to
+ miss their deadline.
+ This checkin adds coprocessor awareness to the Simple mechanism.
+
+ Changes:
+ Client:
+ compute estimated delay (i.e. time until non-saturation)
+ for coprocessors as well as CPU.
+ Send them in scheduler request as part of coproc descriptor.
+ Scheduler:
+ Keep track of estimated delays separately for different resources
+ - client: fixed bug that computed CPU estimated delay incorrectly
+ - client: the work request (req_secs) for a resource is the min
+ of the project's share and the shortfall.
+
+ client/
+ cs_scheduler.cpp
+ rr_sim.cpp
+ work_fetch.cpp,h
+ html/inc/
+ translation.inc
+ lib/
+ coproc.cpp,h
+ sched/
+ sched_send.cpp
+ server_types.cpp,h
+
+David 30 Jan 2009
+ - client: computation of # idle CUDA instances was wrong
+
+ client/
+ rr_sim.cpp
+
+David 30 Jan 2009
+ - scheduler: show message whether miss or meet deadline
+
+ html/user/
+ show_coproc.php
+ top_users.php
+ sched/
+ sched_send.cpp
+
+David 30 Jan 2009
+ - client: tweak work fetch messages
+ - client: buffer 2000 messages instead of 1000
+
+ client/
+ client_msgs.cpp
+ work_fetch.cpp
+ lib/
+ coproc.cpp
+
+David 30 Jan 2009
+ - client: work fetch fixes
+
+ client/
+ work_fetch.cpp
+ scheduler_op.cpp
+
+David 31 Jan 2009
+ - client: there was a problem with how the round simulator
+ worked in the presence of coprocessors.
+ The simulator maintained per-project queues of pending jobs.
+ When a job finished (in the simulation) it would get
+ one or more jobs from that project's pending queue.
+
+ The problem: this could cause "holes" in the scheduling of GPUs,
+ and produce an erroneous nonzero shortfall for GPUs,
+ leading to infinite work fetch.
+
+ The solution: maintain a separate (per-resource, not per--project)
+ queue of pending coprocessor jobs.
+ When a coprocessor job finishes,
+ start pending jobs from the queue for that resource.
+
+ Another change: the simulator did strict reservation of coprocessors.
+ If there are 2 instances of CUDA,
+ and a 1-instance job is running in the simulation,
+ it wouldn't start an additional 2-instance job.
+ This also can cause erroneous nonzero shortfalls.
+
+ So instead, schedule coprocessors like CPUs, i.e. saturate them.
+ This can cause distorted completion time estimates,
+ but it's better than infinite work fetch.
+
+ client/
+ client_types.cpp,h
+ rr_sim.cpp,h
+ work_fetch.cpp,h
+
+David 1 Feb 2009
+ - client: code cleanup
+
+ client/
+ rr_sim.cpp,h
+ work_fetch.cpp,h
+
+David 2 Feb 2009
+ - client: code cleanup
+
+ client/
+ rr_sim.cpp,h
+ work_fetch.cpp,h
+
+David 2 Feb 2009
+ - Manager: change terms for STD, LTD
+ - web: change script that locks old threads to exempt team forums
+
+ clientgui/
+ DlgItemProperties.cpp
+ html/ops/
+ autolock.php
+
+David 3 Feb 2009
+ - client: fix bug that caused infinite sched RPCs if project down
+
+ client/
+ cs_scheduler.cpp
+ scheduler_op.cpp
+
+Rom 3 Feb 2009
+ - SCROPENGL: Checkin the files needed for the new OpenGL based
+ BOINC screensaver.
+
+ clientscr/
+ boinc_ss_opengl.h
+ boinc_ss_opengl.rc
+ screensaver_opengl.cpp
+ screensaver_opengl.h
+ win_build/
+ boinc.sln
+ boinc_ss_opengl.vcproj
+
+David 3 Feb 2009
+ - renamed boinc_ss_opengl to ss_app
+
+David 3 Feb 2009
+ - GUI RPC: made password file read into function
+ - lib: minimized FCGI library
+
+ client/
+ boinc_cmd.cpp
+ file_names.h
+ lib/
+ gui_rpc_client.cpp,h
+ common_defs.h
+ Makefile.am
+
+Charlie Feb 4 2009
+ - SS: Begin work on upgrading screensaver coordinator for new functionality:
+ - add filenames for ss config file and default OpenLG ss executable
+ - add sandbox security support for these 2 files.
+
+ client/
+ check_security.cpp
+ file_names.h
+ clientgui/
+ mac/
+ SetupSecurity.cpp
+ mac_build/
+ Mac_SA_Secure.sh
+
+Rom 5 Feb 2008
+ - MGR: Display all projects in the project list but disable the text control
+ is the project doesn't list a supported platform. If the user clicks
+ on it display a message box stating that once attached the user may not
+ get any work.
+
+ clientgui/
+ AccountManagerInfoPage.cpp
+ ProjectInfoPage.cpp, .h
+ ProjectListCtrl.cpp, .h
+
+Charlie Feb 5 2009
+ - SS: Implement basic new functionality in screensaver coordinator.
+ - Note: this is tested on Mac only at this point.
+
+ client/
+ check_security.cpp
+ file_names.h
+ clientscr/
+ screensaver.cpp, .h
+ Mac_Saver_Module.h
+ screensaver_win.h
+ lib/
+ common_defs.h
diff --git a/clientscr/screensaver.cpp b/clientscr/screensaver.cpp
index 43ec2b16c8..c4e0378d88 100644
--- a/clientscr/screensaver.cpp
+++ b/clientscr/screensaver.cpp
@@ -40,6 +40,7 @@
#ifdef _WIN32
#include "gui_rpc_client.h"
#include "screensaver_win.h"
+#include "str_util.h"
#endif
#ifdef __APPLE__
@@ -379,7 +380,7 @@ void *CScreensaver::DataManagementProc() {
char * default_ss_dir_path = "/Library/Application Support/BOINC Data";
#else
// TODO: Obtain correct path to Windows default OpenGL screensaver executable
- char * default_ss_dir_path = "C:\Program Files\BOINC";
+ char * default_ss_dir_path = "C:\\Program Files\\BOINC";
#endif
strlcpy(full_path, default_ss_dir_path, sizeof(full_path));
strlcat(full_path, "/", sizeof(full_path));