diff -Nru boinc-7.0.7+dfsg/api/boinc_api.cpp boinc-7.0.14+dfsg/api/boinc_api.cpp
--- boinc-7.0.7+dfsg/api/boinc_api.cpp 2011-12-27 00:37:07.000000000 +0000
+++ boinc-7.0.14+dfsg/api/boinc_api.cpp 2012-01-13 19:00:16.000000000 +0000
@@ -150,6 +150,10 @@
bool g_sleep = false;
// simulate unresponsive app by setting to true (debugging)
static FUNC_PTR timer_callback = 0;
+char web_graphics_url[256];
+bool send_web_graphics_url = false;
+char remote_desktop_addr[256];
+bool send_remote_desktop_addr = false;
#define TIMER_PERIOD 0.1
// period of worker-thread timer interrupts.
@@ -819,7 +823,7 @@
}
}
#else
- if (options.multi_process) {
+ if (options.multi_process && options.direct_process_action) {
suspend_or_resume_descendants(0, false);
}
#endif
@@ -1126,7 +1130,7 @@
fprintf(stderr, "%s 1 sec elapsed\n", boinc_msg_prefix(buf, sizeof(buf)));
#endif
- // here it we're at a one-second boundary; do slow stuff
+ // here if we're at a one-second boundary; do slow stuff
//
if (!ready_to_checkpoint) {
@@ -1178,6 +1182,25 @@
if (timer_callback) {
timer_callback();
}
+
+ // send graphics-related messages
+ //
+ if (send_web_graphics_url && !app_client_shm->shm->graphics_reply.has_msg()) {
+ sprintf(buf,
+ "%s",
+ web_graphics_url
+ );
+ app_client_shm->shm->graphics_reply.send_msg(buf);
+ send_web_graphics_url = false;
+ }
+ if (send_remote_desktop_addr && !app_client_shm->shm->graphics_reply.has_msg()) {
+ sprintf(buf,
+ "%s",
+ remote_desktop_addr
+ );
+ app_client_shm->shm->graphics_reply.send_msg(buf);
+ send_remote_desktop_addr = false;
+ }
}
#ifdef _WIN32
@@ -1451,8 +1474,13 @@
}
void boinc_web_graphics_url(char* url) {
- char buf[256];
if (standalone) return;
- sprintf(buf, "%s", url);
- app_client_shm->shm->graphics_reply.send_msg(buf);
+ strcpy(web_graphics_url, url);
+ send_web_graphics_url = true;
+}
+
+void boinc_remote_desktop_addr(char* addr) {
+ if (standalone) return;
+ strcpy(remote_desktop_addr, addr);
+ send_remote_desktop_addr = true;
}
diff -Nru boinc-7.0.7+dfsg/api/boinc_api.h boinc-7.0.14+dfsg/api/boinc_api.h
--- boinc-7.0.7+dfsg/api/boinc_api.h 2011-12-27 00:37:07.000000000 +0000
+++ boinc-7.0.14+dfsg/api/boinc_api.h 2012-01-13 19:00:16.000000000 +0000
@@ -118,6 +118,7 @@
extern double boinc_worker_thread_cpu_time();
extern int boinc_init_parallel();
extern void boinc_web_graphics_url(char*);
+extern void boinc_remote_desktop_addr(char*);
#ifdef __APPLE__
extern int setMacPList(void);
diff -Nru boinc-7.0.7+dfsg/api/boinc_opencl.cpp boinc-7.0.14+dfsg/api/boinc_opencl.cpp
--- boinc-7.0.7+dfsg/api/boinc_opencl.cpp 2011-11-09 21:24:47.000000000 +0000
+++ boinc-7.0.14+dfsg/api/boinc_opencl.cpp 2012-01-20 13:30:47.000000000 +0000
@@ -94,6 +94,7 @@
int boinc_get_opencl_ids(cl_device_id* device, cl_platform_id* platform) {
int retval;
APP_INIT_DATA aid;
+ int opencl_device_index;
retval = boinc_parse_init_data_file();
if (retval) return retval;
@@ -104,13 +105,19 @@
return ERR_NOT_FOUND;
}
- if (aid.gpu_device_num < 0) {
+ opencl_device_index = aid.gpu_opencl_dev_index;
+ if (opencl_device_index < 0) {
+ // Older versions of init_data.xml don't have gpu_opencl_dev_index field
+ opencl_device_index = aid.gpu_device_num;
+ }
+
+ if (opencl_device_index < 0) {
fprintf(stderr, "GPU device # not found in %s\n", INIT_DATA_FILE);
return ERR_NOT_FOUND;
}
retval = boinc_get_opencl_ids_aux(
- aid.gpu_type, aid.gpu_device_num, device, platform
+ aid.gpu_type, opencl_device_index, device, platform
);
return retval;
diff -Nru boinc-7.0.7+dfsg/checkin_notes boinc-7.0.14+dfsg/checkin_notes
--- boinc-7.0.7+dfsg/checkin_notes 2011-12-31 00:39:50.000000000 +0000
+++ boinc-7.0.14+dfsg/checkin_notes 2012-02-02 19:57:12.000000000 +0000
@@ -1,9044 +1,1292 @@
-David 1 Jan 2011
- - fix some bad file permissions
- - delist defunct stats site
+David 1 Jan 2012
+ - remote job stuff
- clientgui/
- DlgItemProperties.cpp,h
- AsynRPC.cpp
- html/inc/
- stats_sites.inc
- samples/
- wrapper/
- wrapper.cpp
- example_app/
- uc2.cpp
- client/
- sim_control.cpp
-
-David 2 Jan 2011
- - unix build: remove hardwired -ldl
-
- lib/
- Makefile.am
-
-David 3 Jan 2011
- - client: show a given system notice at most once a week
-
- client/
- client_msgs.cpp
- sim_control.cpp
- cs_notice.cpp
-
-Charlie 4 Jan 2010
- - Mac: Fix symbol table generation.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 6 Jan 2011
- - user web: fix bugs in server status page
- - fix some indentation
-
- html/user/
- server_status.php
- client/
- *.cpp
-
-David 6 Jan 2011
- - simulator work
- - fix some indentation
-
- various files
-
-David 11 Jan 2011
- - client: use std::deque instead of std::vector
- for RR sim's pending-job lists.
- Erasing head of vector is slow.
- - lib: allow GPU peak FLOPS to be specified in XML (for simulator)
- - simulator work
- - client: old work fetch policy: projects may need enough jobs
- for all device instances, not just resource_share*ninst.
- E.g. a project that has only CPU jobs in a CPU/GPU client
- - client: with REC scheduling, don't ask for work for
- secondary resources if project has negative priority.
- - client: in RR sim, make sure we saturate devices if possible.
- Otherwise we may report a shortfall incorrectly
-
- client/
- coproc_detect.cpp
- cpu_sched.cpp
- rr_sim.cpp,h
- sim.cpp
- sim_control.php
- sim_scenario.php (new)
- work_fetch.cpp,h
- lib/
- coproc.cpp,h
- sched/
- sched_customize.cpp
- sched_types.cpp
-
-David 11 Jan 2011
- - client: set PROJECT::last_upload_start when a job completes,
- NOT when its first upload starts.
- This prevents a scheduler RPC from happening between the two.
- This was a bug in [22841]
-
- client/
- cs_apps.cpp
- pers_file_xfer.cpp
-
-David 12 Jan 2011
- - client: tweak [22842] so that system clock changes
- of < 60 seconds are ignored
-
- client/
- client_state.h
-
-Rom 12 Jan 2011
- - MGR: Embed the BOINC skin in the executable using XPM files.
-
- clientgui/res/skins/default/graphic/
-
- clientgui/
- SkinManager.cpp
- win_build/
- boincmgr.vcproj
-
-David 12 Jan 2011
- - single-job submission system: don't hardwire i686 architecture;
- make it work on any Linux system.
- From Steffen Moller.
-
- html/ops/
- single_job_setup.php
-
-Rom 13 Jan 2011
- - MGR: Disable the background repaint events for the SGUI Messages and
- SGUI Preferences dialog. Changing the font color wasn't as easy as
- I had hoped and the black background for the skin doesn't do any
- good when the text itself is black as well.
-
- clientgui/
- sg_DlgMessages.cpp
- sg_DlgPreferences.cpp
-
-David 13 Jan 2011
- - scheduler/client/API: pass user ID and team ID from scheduler to client,
- and from client to app (host ID is already passed).
- E@h asked for this, not sure why.
-
- client/
- client_types.cpp,h
- app_start.cpp
- lib/
- app_ipc.cpp,h
- sched/
- sched_types.cpp
-
-Rom 13 Jan 2010
- - MGR: re-enable background painting and just change the default background
- color for the new default skin to light gray.
-
- clientgui/
- sg_DlgMessages.cpp
- sg_DlgPreferences.cpp
-
-Bernd 14 Jan 2011
- - unix build system: generate_svn_version
- - generate version string from plain git repositories, too
- - define SVN_REPOSITORY (URL) and SVN_REVISION (numerical) separately
- so these could be used in proprocessor directives
-
- generate_svn_version.sh
-
-David 14 Jan 2011
- - make the Manager build on FC11
- - simulator work
-
- clientgui/
- Makefile.am
- sched/
- edf_sim.cpp
- client/
- sim.cpp
- sim_control.php
-
-David 15 Jan 2011
- - client: fix job scheduling bug.
- Scenario: we have 2 CPUs and 1GB RAM
- Project A has jobs that use 1GB.
- Project B has small-mem jobs.
- Currently, we ignore RAM usage in building the runnable job list,
- so we might pick 2 jobs from project A.
- enforce_schedule() (which checks RAM usage) will run just one of them,
- and the other CPU will be idle.
- Solution: keep track of RAM usage while building the runnable job list.
- client/
- cpu_sched.cpp
-
-David 15 Jan 2011
- - client: code cleanup in CPU scheduling;
- eliminate global variable
-
- client/
- client_state.cpp,h
- cpu_sched.cpp
- sim.cpp
-
-Charlie 18 Jan 2011
- Mac: update release script to remove install of separate BOINC skin.
-
- mac_installer/
- release_boinc.sh
-
-David 18 Jan 2011
- - simulator work
-
- client/
- cpu_sched.cpp
- work_fetch.h
- sim.cpp
- sim_control.cpp
- client_types.cpp
-
-David 19 Jan 2011
- - client: eliminate unnecessary CPU reschedules.
- Currently we do a reschedule any time a job checkpoints,
- in case there's a job that has finished a time slice
- but hasn't checkpointed yet.
- Instead: flag such jobs, and trigger a reschedule
- on checkpoint only for flagged jobs.
- - client: fix instability in job scheduling that happens
- if a job's estimated completion time in RR sim is close to its deadline.
- It can alternate between making and missing deadline,
- causing the scheduler to alternate rapidly between jobs.
- Solution: if RR sim has marked a job as deadline miss
- any time in the last (CPU scheduling period),
- treat it as a deadline miss.
-
- client/
- app.cpp,h
- rr_sim.cpp
- app_control.cpp
- cpu_sched.cpp
-
-David 19 Jan 2011
- - client: if we're using an acct mgr,
- and we're attached to a project manually (not via acct mgr)
- and the acct mgr tells us to detach from it, don't.
-
- client/
- acct_mgr.cpp
-
-David 19 Jan 2011
- - server: fix for EmBOINC
-
- sched/
- sched_util.cpp
-
-David 24 Jan 2011
- - server: disable upload certificates by default.
- These increase server load and it's not clear they're needed.
-
- py/Boinc/
- setup_project.py
-
-Rom 25 Jan 2011
- - MGR: Fix advanced view button is Simple GUI.
- (Button Text is Verdana 8pt. in MS Paint)
-
- clientgui/res/skins/default/graphic/
- advanced_link_image.xpm
- clientgui/res/templates/skins/
- advanced_link_image.gif (Added)
- btnAdvancedView.png (Removed)
-
-David 25 Jan 2011
- - client: accept and in cc_config.xml
- - client: reset log flags (as well as options) when rereading cc_config.xml
-
- client/
- log_flags.cpp,h
-
-David 25 Jan 2011
- - web: tweaks so that BOINC-Wide Teams site can warn people if
- their email address is not validated
-
- html/
- inc/
- user.inc
- user/
- edit_email_action.php
-
-Charlie 27 Jan 2011
- Mac: update Mac_SA_Insecure.sh script to not require BOINC Client in
- BOINC Data folder.
-
- mac_build/
- Mac_SA_Insecure.sh
-
-Charlie 27 Jan 2011
- - MGR: Add new Simple GUI.
-
- clientgui/
- AdvancedFrame.cpp, .h
- BOINCGUIApp.cpp, .h
- Events.h
- sg_BoincSimpleFrame.cpp, .h (new)
- sg_CustomControls.cpp, .h
- sg_PanelBase.cpp, .h (new)
- sg_ProjectCommandPopup.cpp, .h (new)
- sg_ProjectPanel.cpp, .h (new)
- sg_ProjectWebSitesPopup.cpp, .h (new)
- sg_TaskCommandPopup.cpp, .h (new)
- sg_TaskPanel.cpp, .h (new)
- SkinManager.cpp
- mac/
- MacBitmapComboBox.cpp, .h (new)
- res/
- RedDot16.xpm (new)
- YellowDot16.xpm (new)
- GreenDot16.xpm (new)
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- win_build/
- boincmgr.vcproj
-
-David 27 Jan 2011
- - client: fix bug in setting GPU peak flops
-
- client/
- coproc_detect.cpp
- lib/
- coproc.cpp,h
-
-Charlie 28 Jan 2011
- - MGR: Fix default skin selection display in Simple Preferences
- dialog.
- - MGR: Use standard native buttons in Simple Preferences and
- Simple Notices dialogs.
- - MGR: Use our control IDs instead of wxID_HELP for Help buttons
- for Mac accessibility (wxID_HELP makes a bitmap button on
- Macs which VoiceOver screen reader can't read.)
- - MGR: Disable tooltips on Mac while new simple GUI menus are
- popped up because they cover menus.
-
- clientgui/
- DlgAdvPreferences.cpp
- DlgAdvPreferencesBase.cpp
- sg_BoincSimpleFrame.cpp
- sg_DlgMessages.cpp
- sg_DlgPreferences.cpp
- sg_ProjectCommandPopup.cpp
- sg_ProjectWebSitesPopup.cpp
- sg_TaskCommandPopup.cpp
- wizardex.cpp
- SkinManager.cpp
- mac/
- MacBitmapComboBox.cpp, .h
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 28 Jan 2011
- - back end: allow the specification of a read-only DB replica
- (in config.xml) to include DB name, user, and password.
- - back end: add read-only replica info to SCHED_CONFIG,
- so that C++ programs can use the replica
- (currently only PHP code can use it)
- - db_dump: use the read-only DB replica if it exists.
-
- html/inc/
- boinc_db.inc
- db.inc
- sched/
- sched_config.cpp,h
- db_dump.cpp
-
-David 28 Jan 2011
- - new script sched/transitioner_catchup.php: transitions all WUs
- that need it, then exits.
- For big projects coming up after an outage, run this before bin/start
- to minimize startup overload
- - tweaks to PHP libraries to allow them to be used
- by scripts anywhere in the dir hierarchy
-
- sched/
- transitioner_catchup.php
- html/inc/
- boinc_db.inc
- util_basics.inc
- py/Boinc/
- setup_project.py
-
-Charlie 29 Jan 2011
- - MGR: Code cleanup.
-
- clientgui/
- sg_PanelBase.cpp, .h
- sg_ProjectPanel.cpp, .h
- sg_TaskPanel.cpp, .h
-
-Charlie 30 Jan 2011
- - MGR: New Simple GUI optimization.
-
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_PanelBase.cpp
- sg_TaskPanel.cpp, .h
-
-Charlie 30 Jan 2011
- - MGR: Fix compile break on Linux.
-
- clientgui/
- sg_DlgPreferences.cpp
-
-Charlie 31 Jan 2011
- - MGR: Update Makefile.
- - MGR: New Simple GUI optimization.
-
- clientgui/
- Makefile.am
- sg_TaskPanel.cpp, .h
-
-Charlie 31 Jan 2011
- - Mac: Add info about dual-GPU Powerbooks to ReadMe files.
-
- mac_installer/
- GR-ReadMe.rtf
- PTP-ReadMe.rtf
- ReadMe.rtf
-
-David 1 Feb 2011
- - client: make "wrong URL" message not be a notice
- - web: fix caching problem when PHP not installed as Apache module
-
- html/inc/
- cache.inc
- client/
- cs_scheduler.cpp
-
-Charlie 1 Feb 2011
- - Mac: Localize items in Mac's BOINC menu.
-
- clientgui/
- AdvancedFrame.cpp
- sg_BoincSimpleFrame.cpp
- mac/
- MacGUI.pch
- Mac_GUI.cpp
-
-Charlie 1 Feb 2011
- - MGR: Use branded short application name in Help tooltips instead
- of always using "BOINC".
- - Mac: Eliminate unused source files Localization.cpp, .h from Mac
- project.
-
- clientgui/
- DlgEventLog.cpp
- sg_BoincSimpleFrame.cpp
- sg_DlgMessages.cpp
- sg_DlgPreferences.cpp
- sg_ProjectsComponent.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-Rom 1 Feb 2011
- - WINSETUP: Avoid a 0xc0000135 error by giving the boinc_master and
- boinc_project membership in the 'Users' group. Dynamic linking
- to nvcuda.dll was failing because the project applications were
- being denied access to DLLs in the system directory.
-
- win_build/installerv2/redist/Windows/src/boinccas/
- boinccas.rc
- CACreateBOINCGroups.cpp
- win_build/installerv2/redist/Windows/Win32/
- boinccas.dll
- boinccas95.dll
- win_build/installerv2/redist/Windows/x64/
- boinccas.dll
- boinccas95.dll
-
-David 1 Feb 2011
- - create_work: add -d option
-
- tools/
- create_work.cpp
-
-Rom 3 Feb 2011
- - MGR: Enable the volunteer configurable 'shutdown core client' feature
- on exit for Linux. It was orginally supposed to be enabled when
- the balloon features were enabled, but got lost in ifdef hell.
- (From "Lee")
-
- clientgui/
- DlgExitMessage.cpp
- MainDocument.cpp
-
-David 3 Feb 2011
- - create_work: add some debugging printfs for Kamran
-
- tools/
- backend_lib.cpp
- html/
- inc/
- forum.inc
- profile.inc
- user/
- weak_auth.php
-
-Charlie 3 Feb 2011
- - MGR: Eliminate unnecessary #ifdef.
-
- clientgui/
- BOINCGUIApp.cpp
-
-David 4 Feb 2011
- - client/manager: show venue in project properties
-
- clientgui/
- DlgItemProperties.cpp
- client/
- client_types.cpp
- lib/
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
-
-David 7 Feb 2011
- - manager: msg tweak
- client/
- CompletionErrorPage.cpp
-
-David 7 Feb 2011
- - client: don't crash if omit cmdline port#. Fixes #1040
-
- client/
- cs_cmdline.cpp
-
-Rom 8 Feb 2011
- - MGR: Fix a bug that is several years old, appears to have been
- introduced during the Unicode conversion phase for Windows. Passing
- a wide character string into an narrow character function causes
- a NULL reference exception.
-
- TODO: There is still an issue if the manager attempts to write to
- stderr when the BOINC Manager log files are redirected to a
- directory the user doesn't have access to.
-
- clientgui/
- SkinManager.cpp
-
-David 8 Feb 2011
- - user web: add "delete account" feature.
- This allows a user to delete all traces of themselves from a project.
- Namely:
- - clear fields of user record: email_addr, authenticator,
- name, country, postal_code
- Note: record is not deleted
- - clear the domain_name and last_ip_addr fields of hosts
- Note: records are not deleted
- - quit team
- - delete private messages sent and received
- - delete forum posts, subscriptions, and forum prefs
- - delete profile and associated images
- - server: compile fix
-
- html/
- inc/
- pm.inc
- host.inc
- forum.inc
- user.inc
- util.inc
- user/
- delete_account.php
- stats.php
- tools/
- backend_lib.cpp
-
-David 8 Feb 2011
- - create_work and possibly other back-end programs:
- fix bug that corrupted WU command lines.
- The problem: we were using strcpy(p, p+n) to delete the
- first n characters of p.
- This is incorrect - the behavior of strcpy() is undefined
- if its args overlap.
- On some systems (e.q. AQUA's server) it does wacky things.
-
- tools/
- backend_lib.cpp
- lib/
- str_util.cpp,h
- parse.cpp
-
-David 9 Feb 2011
- - user web: apparently if you put links of the form
- http://setiathome.berkeley.edu/help.php?key=Viagra.uk
- all over the web, Google will list "Viagra.uk" in your site outline (why??).
- Preliminary checkin for dealing with this.
-
- html/
- inc/
- prefs.inc
- util.inc
- user/
- view_profile.php
- account_finish.php
- am_get_info.php
- add_venue.php
-
-David 9 Feb 2011
- - user web: make all forum tables full-width
- html/inc/
- forum.inc
-
-David 9 Feb 2011
- - user web: finish dealing with get args spam
-
- html/
- user/
- *.php
- inc/
- pm.inc
- prefs.inc
- forum.inc
- util.inc
-
-David 9 Feb 2011
- - user web: appearance tweaks
-
- html/
- inc/
- forum.inc
- user/
- forum_help_desk.php
- forum_index.php
- white.css
-
-David 10 Feb 2011
- - user web: fix "nowrap" post display
-
- html/inc/
- forum.inc
-
-David 10 Feb 2011
- - user web: CSS cleanup.
- Use classes instead of IDs.
- white.css and black.css are cleaned up; style2.css needs work
-
- html/
- inc/
- pm.inc
- forum.inc
- user.inc
- util.inc
- user/
- pm.php
- sample_index.php
- forum_thread.php
- main.css
- forum_help_desk.php
- friend.php
- forum_forum.php
- forum_index.php
- style2.css
- white.css
-
-David 10 Feb 2011
- - client: if a logical filename contains /'s,
- create the needed dirs under the slot dir
- - user web: pages with translatable text should not be cached.
- Fix this for home page; there are some others
-
- client/
- app_start.cpp
- html/user/
- sample_index.php
-
-David 11 Feb 2011
- - manager: project properties: if no venue, show "default"
-
- clientgui/
- DlgItemProperties.cpp
-
-David 11 Feb 2011
- - user web: style tweaks
- html/user/
- forum_post.php
- main.css
- white.css
-
-David 11 Feb 2011
- - user web: disable "delete account" feature
-
- html/
- user/
- delete_account.php
- inc/
- user.inc
-
-David 11 Feb 2011
- - user web: bug fixes
- html/user/
- team_quit_action.php
- team_manage.php
- forum_moderate_post.php
-
-David 13 Feb 2011
- - user web: fix venue change
- html/
- inc/
- prefs.inc
- util.inc
- user/
- host_venue_action.php
-
-David 13 Feb 2011
- - user web: bug fixes
-
- html/user/
- forum_moderate_thread.php
- add_venue.phhp
-
-David 13 Feb 2011
- - user web: bug fix
-
- html/user/
- forum_reply.php
-
-David 13 Feb 2011
- - user web: bug fix
- html/user/
- forum_banishment_vote_action.php
-
-David 14 Feb 2011
- - user web: bug fix
- html/user/
- pm.php
-
-David 14 Feb 2011
- - user web: fix [img] BBcode problem
- html/inc/
- text_transform.inc
-
-David 14 Feb 2011
- - user web: various fixes
- html/
- inc/
- prefs.inc
- user/
- main.css
- prefs_remove.php
- forum_reply.php
- white.css
- add_venue.php
- forum_edit.php
-
-David 14 Feb 2011
- - user web: fixes
- html/user/
- sample_index.php
- main.css
-
-David 14 Feb 2011
- - client, linux: use X server for idle detection if available
-
- configure.ac
- client/
- hostinfo_unix.cpp
-
-Charlie 15 Feb 2011
- Mac: Make backtrace compile properly with OS 10.5 and OS 10.6 SDKs.
-
- lib/
- mac/
- QBacktrace.c
- QCrashReport.c
-
-Charlie 15 Feb 2011
- Mac Installer: Fix the code which deletes installer receipts to use
- the current package name (which changed when I eliminated the
- Mac installer wrapper application around the installer package.)
- This is needed to allow installing an older version to replace a
- newer one under OS 10.4.x.
-
- mac_installer/
- PostInstall.cpp
- uninstall.cpp
-
-David 15 Feb 2011
- - transitioner: fix bug that could cause file deletion to not be done
- for some WUs
- - back end: fix the way "report grace period" is implemented
- old: result.report_deadline (i.e. what's in the DB) and
- the deadline sent to the client are the same.
- Some confusing and incorrect logic in the transitioner
- tries to provide the desired semantics.
- new: result.report_deadline is the deadline sent to the client,
- plus the grace period.
- No logic in the transitioner is needed.
-
- db/
- boinc_db.cpp,h
- sched
- sched_config.cpp,h
- sched_send.cpp
- transitioner.cpp
- sched_resend.cpp
-
-David 15 Feb 2011
- - file upload handler: if client-reported offset is less than file size,
- don't just print an error message;
- lseek() back to the offset point.
- Otherwise we can end up with duplication in the file.
-
- sched/
- file_upload_handler.cpp
-
-David 15 Feb 2011
- - update_versions: if FILE.file_ref_info contains ,
- use that instead of physical name.
- This lets you have logical names with slashes
-
- py/Boinc/
- tools.py
-
-Charlie 16 Feb 2011
- Mac: More thorough error checking and recovery in code which localizes
- items in Mac's BOINC menu.
-
- mac/
- Mac_GUI.cpp
-
-David 16 Feb 2011
- - user web: fixes to private message functions
-
- html/user/
- pm.php
-
-David 16 Feb 2011
- - client: fix work-fetch bug.
- The change in [21877] caused tasks in "download stalled" state
- to be skipped in RR simulation,
- and therefore to not be counted in the work buffer.
- However, "download stalled" was not being evaluated correctly;
- it was considering only per-file backoff, not project-wide backoff.
- - client: another work-fetch bug:
- don't fetch work from a project in project-wide download backoff.
-
- client/
- client_types.cpp
-
-David 16 Feb 2011
- - client: fix bug in mechanism that defers work request until
- pending uploads are finished.
- Due to a typo, this was not being done.
-
- client/
- cs_scheduler.cpp
-
-David 16 Feb 2011
- - client: when exclusive app mechanism is used (CPU or GPU)
- wait for 30 secs after excl app exits
- before restarting computation
-
- client/
- app.cpp,h
- client_state.h
- cs_prefs.cpp
-
-Charlie 17 Feb 2011
- Mac: Additional error checking and release created objects in code
- which localizes items in Mac's BOINC menu.
-
- mac/
- Mac_GUI.cpp
-
-Charlie 17 Feb 2011
- - Mac installer: update branded build scripts to eliminate wrapper
- application around install package (as was done for BOINC 6.12.7).
-
- clientgui/
- res/
- MacPTPPkgIcon.zip (new)
- MacGRPkgIcon.zip (new)
- mac_installer/
- make_GridRepublic.sh
- make_ProgThruProc.sh
-
-David 17 Feb 2011
- - file upload handler: fix faulty bug fix of 2/15
- - client: make REC-based scheduling and hysteresis the defaults
-
- client/
- work_fetch.cpp
- sched/
- file_upload_handler.cpp
-
-David 17 Feb 2011
- - client: when detach project, remove its RSS feeds from list
- - client: remove once-per-week limit for client-generated notices;
- need to show "network connection required" more often
- - client: when remove "network conn required" notice
- (because now have conn)
- set the flag that says complete notice list is being sent
- - client: if RSS feed fetch returns ,
- show the corresponding message rather than "XML parse error"
-
- client/
- client_state.cpp
- cs_notice.cpp
- gui_rpc_server_ops.cpp
- http_curl.cpp
- net_stats.cpp,h
-
-Rom 18 Feb 2011
- - client: Fast User Switching does not change the session protocol
- to RDP when the active session is put into the background and
- a new one is brought into the foreground. It appears it is safe
- to use the connected state in addition to the protocol
- to detect when the session is no longer capable of processing
- GPU work
-
- lib/
- win_util.cpp
-
-Charlie 18 Feb 2011
- - Mac: Update link to NVIDIA CUDA Mac driver download page
-
- mac_installer/
- GR-ReadMe.rtf
- PTP-ReadMe.rtf
- ReadMe.rtf
-
-David 18 Feb 2011
- - client: more notice-related fixes.
- I'm working on this case:
- - start up
- - disconnect (produces notice)
- - reconnect (removes notice)
- The client is now doing the right thing.
- The manager is not.
-
- client/
- acct_setup.h
- cs_notice.cpp,h
- gui_rpc_server.h
- gui_rpc_server_ops.cpp
-
-David 19 Feb 2011
- - wrapper: add optional element in elements;
- specifies a directory to run app in.
- macro-substitute project dir for $PROJECT_DIR.
- From Carl Christensen, more or less
-
- samples/wrapper/
- wrapper.cpp
-
-David 19 Feb 2011
- - wrapper: add optional element in elements;
- specifies an environment variable assignment;
- macro-substitute project dir for $PROJECT_DIR.
- From Carl Christensen
-
- samples/wrapper/
- wrapper.cpp
-
-David 19 Feb 2011
- - 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)
-
- client/
- app.cpp
- cs_prefs.cpp
- lib/
- win_util.cpp
- samples/wrapper/
- wrapper.cpp
- win_build/
- boinc.sln
-
-David 20 Feb 2011
- - wrapper: Windows fixes
-
- samples/wrapper/
- wrapper.cpp
-
-David 20 Feb 2011
- - client: fix disk-space accounting bug when user quotas in use
- (Windows)
-
- lib/
- filesys.cpp
-
-Charlie 21 Feb 2011
- - client: fix compiler warning.
-
- client/
- cs_notice.cpp
-
-David 22 Feb 2011
- - client: add cpu_sched debug messages for anti-domino-effect
- and anti-thrasing mechanisms
- - wrapper: to kill an app, use SIGTERM instead of SIGKILL
- client/
- acct_mgr.cpp
- cpu_sched.cpp
- samples/wrapper/
- wrapper.cpp
-
-David 22 Feb 2011
- - 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()
-
- sched/
- sched_customize.cpp
- lib/
- procinfo.h
- procinfo.cpp (new)
- procinfo_win.cpp
- procinfo_unix.cpp
- Makefile.am
- samples/wrapper/
- wrapper.cpp
-
-David 22 Feb 2011
- - client: send
- at start of scheduler and account manager requests.
-
- client/
- cs_scheduler.cpp
- acct_mgr.cpp
- cpu_sched.cpp
-
-David 22 Feb 2011
- - client: don't send .
- Daemons are started before regular tasks,
- run concurrently with them, and are killed on exit.
-
- samples/wrapper/
- wrapper.cpp
-
-David 24 Feb 2011
- - client: remove auto update stuff from makefiles.
- This feature is mothballed.
-
- client/
- client_state.cpp,h
- scheduler_op.cpp,h
- file_names.cpp
- cs_scheduler.cpp
- cs_statefile
- Makefile.am
-
-David 24 Feb 2011
- - wrapper: fixes from Carl
-
- lib/
- procinfo_win.cpp
- samples/wrapper/
- wrapper.cpp
-
-Charlie 24 Feb 2011
- - Mac: Remove auto_update.cpp, auto_update.h from XCode Project.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 25 Feb 2011
- - user web:
- - in friend request notification, link to user page
- - in user page, show ID
- - remove "Account data for " in page title
-
- html/
- inc/
- user.inc
- friend.in
- user/
- show_user.php
-
-Rytis 26 Feb 2011
- - user web: add a config option to always show workunit details when using
- adaptive replication.
-
- html/user/
- workunit.php
-
-David 26 Feb 2011
- - user web: fix wrong user ID
-
- html/inc/
- user.inc
-
-David 26 Feb 2011
- - back end: add two example trickle handlers:
- trickle_credit: grants credit based on CPU time reported in msg
- trickle_echo: echoes trickle-up as a trickle-down
-
- sched/
- trickle_handler.cpp, h (new)
- sched_result.cpp
- trickle_credit.cpp
- credit.cpp,h
- trickle_echo.cpp
- validator.cpp
- Makefile.am
-
-David 28 Feb 2011
- - user web: add a feature allowing project admins to control
- whether news items are exported as notices.
- The creator of a news item is shown a "Don't export" or "Export"
- button on the thread page.
- By default, news items are exported.
-
- db/
- schema.sql
- html/
- inc/
- news.inc
- user/
- forum_thread.php
- notices.php
- forum_thread_status.php
-
-David 28 Feb 2011
- - user web: bug fix to the last checkin
- - boinccmd: fix --get_project_config operation
-
- html/user;
- forum_thread_status.php
- client/
- boinc_cmd.cpp
-
-David 2 Mar 2011
- - user web: show date/time on friend request page
-
- html/user/
- friend.php
-
-Rom 2 Mar 2011
- - MGR: Properly handle the case where the only notice in the manager
- is the 'no notice' notice and then we transition to a single notice
- from another source.
-
- clientgui/
- NoticeListCtrl.cpp, .h
-
-David 2 Mar 2011
- - manager: show notice create time rather than arrival time
- - client: don't show "need network" notice if we don't need it
-
- clientgui/
- NoticeListCtrl.cpp
- client/
- cs_notice.cpp
-
-David 2 Mar 2011
- - client: when get a bunch of notices from RSS feed,
- sort them by create time before appending to notice list.
- This ensures that, in the Notices tab,
- notices are ordered decreasing create time within an RSS feed
- (though not necessarily across feeds)
-
- client/
- cs_notice.cpp,h
-
-Rom 2 Mar 2011
- - MGR: Turn -boincargs into a string instead of an option.
-
- clientgui/
- BOINCGUIApp.cpp
-
-Rom 2 Mar 2011
- - MGR: Turn off the task pane for the notices tab.
-
- clientgui/
- ViewNotices.cpp
-
-Rom 2 Mar 2011
- - MGR: Disable our color scheme is a non-white background is selected
- for the current theme. My commit on 3 Mar 2010 wasn't good enough
- for High-Contrast themes.
-
- clientgui/
- BOINCBaseView.cpp
- DlgEventLog.cpp
-
-David 2 Mar 2011
- - client: in deciding whether to remove the "need network" notice,
- we were using the wrong (too high-level) interface
-
- client/
- cs_notice.cpp
-
-Charlie 3 Mar 2011
- - MGR: Remove the old SimpleGUI from the projects. The following
- source files are no longer used; they have been removed from the
- builds, but have not yet been deleted from the SVN repository:
- sg_BoincSimpleGUI.cpp,.h, sg_ClientStateIndicator.cpp,.h,
- sg_ImageButton.cpp,.h, sg_ImageLoader.cpp,.h, sg_ProgressBar.cpp,.h,
- sg_ProjectsComponent.cpp,.h, sg_StatImageLoader.cpp,.h,
- sg_ViewTabPage.cpp,.h
-
- clientgui/
- AdvancedFrame.cpp, .h
- BOINCGUIApp.cpp, .h
- Events.h
- Makefile.am
- sg_BoincSimpleFrame.cpp, .h
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- win_build/
- boincmgr.vcproj
-
-Rom 3 Mar 2011
- - MGR: Change the reminder frequency interval to hours and adjust the min/max
- values to 0/24. Default value is now 6 hours between notification reminders.
-
- clientgui/
- BOINCBaseFrame.cpp
- BOINCDialupManager.cpp
- BOINCTaskBar.cpp
- DlgOptions.cpp
-
-David 3 Mar 2011
- - client: fix inaccuracy in RR simulation reported by Bill Barber.
- The problem arises when there are jobs of projects
- with widely differing resource shares,
- and results in an overestimation of saturated time.
-
- Old: at the start of simulation, call WORK_FETCH::compute_shares()
- to get resources of runnable projects.
- Use these throughout the simulation.
-
- Problem: suppose you have 2 runnable projects;
- P1 has large RS, P2 has small RS.
- P1's jobs finish quickly.
- P2's jobs then are running alone,
- but their FLOPS is scaled (incorrectly) by P2's small RS.
-
- Solution: recompute relative CPU resource share within the
- simulation loop,
- and compute it over the projects that have actives jobs
- in the simulation.
- client/
- rr_sim.cpp
- client_types.h
-
-Charlie 3 Mar 2011
- - MGR: reduce duration of notifications on Mac from 15 to 5 seconds.
-
- clientgui/
- BOINCTaskBar.cpp
-
-David 3 Mar 2011
- - manager: fix copyright date in about box
-
- clientgui/
- DlgAbout.cpp
-
-David 4 Mar 2011
- - scheduler: if we're not sending jobs because of user prefs
- (no CPU, no GPU, selected apps)
- send a message, not a notice.
- Assume the user knew what they were doing,
- and doesn't want to be nagged.
- - scheduler: check for the existence of an app version
- before checking for user selected-app prefs.
- This prevents sending "no jobs available for selected apps"
- message when no app versions exist for non-selected apps
- - scheduler: use "tasks" instead of "work" in user messages
-
- sched/
- sched_array.cpp
- sched_send.cpp
-
-David 4 Mar 2011
- - client: fix spurious error when removing a notice RSS feed
-
- client/
- cs_notice.cpp
-
-David 6 Mar 2011
- - client: print smoothed as well as instantaneous WSS
- - manager: make RPC reason strings translatable
-
- client/
- app.cpp
- clientgui/
- ViewProjects.cpp
-
-Rom 7 Mar 2011
- - MGR: Refactor part of the Options dialog out of the Advanced Frame
- code.
- - MGR: Change the Reminder Frequency option in the Options dialog to
- a combo box.
-
- TODO: Change the taskbar logic to handle the 'always' case.
-
- clientgui/
- AdvancedFrame.cpp
- BOINCBaseFrame.cpp, .h
- BOINCTaskBar.cpp
- DlgOptions.cpp, .h
-
-Rom 7 Mar 2011
- - MGR: ComboBox's are zero index based.
-
- clientgui/
- DlgOptions.cpp, .h
-
-Rom 7 Mar 2011
- - MGR: Handle the 'always' option by only popping a new balloon if the
- unread notice count differs from the last time we popped a
- balloon.
-
- clientgui/
- BOINCTaskBar.cpp, .h
-
-Rom 7 Mar 2011
- - MGR: Don't attempt to set the project or account manager if the project
- list control does not contain any items. This can cause a crash
- if the all_projects_list.xml is empty.
-
- clientgui/
- AccountManagerInfoPage.cpp
- ProjectInfoPage.cpp
-
-Charlie 7 Mar 2011
- - MGR: Fix compiler warning.
-
- clientgui/
- DlgOptions.cpp
-
-David 7 Mar 2011
- - client: fix to [23162] that broke work fetch
-
- client/
- work_fetch.cpp
-
-David 8 Mar 2011
- - client: don't put CDATA around account manager opaque data
- in request msg
-
- client/
- acct_mgr.cpp
-
-Charlie 10 Mar 2011
- - MGR: Remove from Skin Manager items no longer used by SimpleGUI.
- The following source files are no longer used; they have been
- removed from the builds, but have not yet been deleted from the
- SVN repository:
-
- clientgui/
- common/
- wxFlatNotebook.cpp,.h
- wxFlatNotebookImages.h
- wxFNBDropTarget.h
- res/
- skins/
- default/
- graphic/
- spacer_image.xpm
- state_indicator_background_image.xpm
- connecting_indicator_image.xpm
- error_indicator_image.xpm
- workunit_active_image.xpm
- workunit_suspended_image.xpm
- workunit_tab_area_background_image.xpm
- workunit_area_background_image.xpm
- workunit_animation_background_image.xpm
- workunit_gauge_background_image.xpm
- workunit_gauge_progress_indicator_image.xpm
- project_area_background_image.xpm
- attach_project_button.xpm
- attach_project_clicked_button.xpm
- help_button.xpm
- help_clicked_button.xpm
- right_arrow_button.xpm
- right_arrow_clicked_button.xpm
- left_arrow_button.xpm
- left_arrow_clicked_button.xpm
- save_button.xpm
- save_clicked_button.xpm
- synchronize_button.xpm
- synchronize_clicked_button.xpm
- cancel_button.xpm
- cancel_clicked_button.xpm
- close_button.xpm
- close_clicked_button.xpm
- copy_all_button.xpm
- copy_all_clicked_button.xpm
- copy_button.xpm
- copy_clicked_button.xpm
- messages_link_image.xpm
- messages_alert_link_image.xpm
- suspend_link_image.xpm
- resume_link_image.xpm
- preferences_link_image.xpm
- advanced_link_image.xpm
- wizard_bitmap.xpm
-
- The following files have been modified:
-
- clientgui/
- BOINCGUIApp.cpp
- SkinManager.cpp, .h
- sg_DlgPreferences.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- win_build/
- boincmgr.vcproj
-
-Bernd 10 Mar 2011
- - unix build system: generate_svn_version
- - extended support for git repos:
- generate numeric version from last commit date,
- record host, remote and branch names
-
- generate_svn_version.sh
-
-David 10 Mar 2011
- - client (Win): if available, use GetActiveProcessorCount()
- rather than GetSystemInfo() to get the # of CPUs.
- GetSystemInfo() returns the # of CPUs in the caller's
- processor group, which is always <= 64 even on hosts
- with > 64 CPUs
-
- client/
- hostinfo_win.cpp
-
-David 10 Mar 2011
- - manager: Add Project wizard:
- if a project has old server software and
- doesn't export platform list (e.g. Superlink)
- don't show a confusing "this project may not support
- your type of computer" message;
-
- clientgui/
- ProjectInfoPage.cpp
-
-Charlie 11 Mar 2011
- - MGR: Fill in initial URL on Account Manager Wizard Selection page.
- - MGR: Add a new page to Attach Wizard to be displayed if the user
- rejects the Terms of Use.
- - lib: Make sorts of projects and account mangers case-insensitive.
-
- clientgui/
- AccountManagerInfoPage.cpp
- Makefile.am
- TermsOfUsePage.cpp
- UserDisagreesPage.cpp, .h (new)
- WizardAttach.cpp, .h
- lib/
- gui_rpc_client_ops.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- win_build/
- boincmgr.vcproj
-
-Charlie 11 Mar 2011
- - MGR: Fix compiler warning.
-
- clientgui/
- sg_BoincSimpleFrame.cpp
-
-Rytis 12 Mar 2011
- - user web: implement Memcache as an option for caching (defaults to
- in-file cache). Can be enabled by installing php5-memcached package
- and defining MEMCACHE_SERVERS in project.inc
-
- html/
- inc/
- cache.inc
- project.sample/
- project.inc
- user/
- show_user.php
- team_display.php
- top_hosts.php
- top_teams.php
- top_users.php
- view_profile.php
-
-David 12 Mar 2011
- - move client simulator PHP code to doc/sim
-
- doc/sim/
- various
-
-Rytis 13 Mar 2011
- - user web: change remaining occurrences of fullpage caching to object
- cache. start_cache() and end_cache() are now deprecated.
-
- html/
- inc/
- cache.inc
- team.inc
- user/
- download_network.php
- server_status.php
- team_members.php
- userw.php
-
-David 13 Mar 2011
- - validator: if --credit_from_wu is set, and no credit specified in WU,
- assign zero credit and keep going
- - client simulator work
-
- client/
- sim.cpp
- makefile_sim
- cs_notice.cpp
- cpu_sched.cpp
- sched/
- validator.cpp
-
-David 14 Mar 2011
- - API: get rid of BOINC_OPTIONS::backwards_compatible_graphics.
- Not necessary.
- - wrapper: add optional 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.
-
- samples/wrapper/
- wrapper.cpp
- api/
- boinc_api.cpp,h
-
-Rom 14 Mar 2011
- - SCR: Follow the Mac's lead and gracefully exit the Data Management
- thread. Preserve the handle to take more drastic actions should
- that not work.
-
- clientscr/
- mac_saver_module.cpp, .h
- screensaver.cpp
- screensaver_win.cpp, .h
-
-David 14 Mar 2011
- - client simulator stuff
-
- html/user/
- forum_thread.php
- client/
- cpu_sched.cpp
-
-David 14 Mar 2011
- - ops: update script that counts GPUs
-
- html/ops/
- nvidia.php
-
-Charlie 14 Mar 2011
- - SCR: Fix compile breaks.
-
- clientscr/
- mac_saver_module.cpp
-
-David 15 Mar 2011
- - client simulator stuff
- client/
- sim_cpp,h
-
-David 16 Mar 2011
- - wrapper: improved subprocess cleanup, Unix
-
- samples/wrapper/
- wrapper.cpp
- client/
- sim.cpp
-
-Bernd 18 Mar 2011
- Einstein@home extensions:
- - protect malloc.h
- - validator: allow to update 'random' result field
- - assimilator: add global variables results_prefix and transcripts_prefix,
- set on command-line
-
- sched/
- assimilator.cpp
- assimilate_handler.h
- hr_info.cpp
- db/
- boinc_db.cpp
-
-Bernd 18 Mar 2011
- - (locality) scheduler:
- omit confusing message & backoff in mixed scheduling
-
- sched/
- sched_locality.cpp
-
-David 20 Mar 2011
- - client and API: pass "network suspended" flag from client to app;
- make it available as part of BOINC_STATUS
-
- api/
- boinc_api.cpp,h
- html/inc/
- uotd.inc
- client/
- app_control.cpp
-
-David 21 Mar 2011
- - wrapper: macro-substitute $NTHREADS with the --nthreads option value
- in job.xml
-
- samples/wrapper/
- wrapper.cpp
-
-Rom 22 Mar 2011
- - 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
-
-Charlie 23 Mar 2011
- - client: Define MAXPATHLEN if not defined for compatibility with HURD.
-
- client/
- hostinfo_unix.cpp
-
-David 24 Mar 2011
- - define MAXPATHLEN, if needed, in filesys.h
- - fix typo in a GUI RPC handler
-
- lib/
- filesys.h
- api/
- mac_icon.cpp
- graphics2_unix.cpp
- client/
- switcher.cpp
- gui_rpc_server_ops.cpp
- check_security.cpp
- hostinfo_unix.cpp
-
-Charlie 24 Mar 2011
- - client: Begin adding OpenCL support.
-
- client/
- coproc_detect.cpp
- lib/
- cl.h (added)
- cl_platform.h (added)
- coproc.h
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 24 Mar 2011
- - 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. NVIDIA rather than
- - client: in account manager replies, parse elements of the form
- NAME
- indicating the GPUs of type NAME should not be used.
- This allows account managers to control GPU types
- not hardwired into the client.
- Note: and will continue to be supported.
- - scheduler RPC reply: add
- NAME
- (NAME = GPU name)
- to indicate that the project has no jobs for the indicated GPU type.
- etc. are still supported
- - client/lib: remove set_debts() GUI RPC
- - client/scheduler RPC
- remove etc. (superceded by no_app)
- Exception: elements in sched request
- still have and .
- 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
-
- client/
- acct_mgr.cpp,h
- app_start.cpp
- client_state.cpp,h
- client_types.cpp,h
- coproc_detect.cpp
- cpu_sched.cpp
- cs_account.cpp
- cs_prefs.cpp
- cs_scheduler.cpp
- cs_statefile.cpp
- gui_rpc_server_ops.cpp
- rr_sim.cpp
- scheduler_op.cpp.h
- work_fetch.cpp,h
- lib/
- coproc.h
- hostinfo.cpp,h
- win_build/
- boinc_cli.vcproj
-
-Charlie 25 Mar 2011
- - client: Temporarily work around compile breaks introduced by the changes
- to generalize the GPU framework.
- NOTE to David: please look for "//TODO: David, please fix" in these
- files and fix as appropriate.
-
- client/
- app_start.cpp
- boinc_cmd.cpp
-
-David 25 Mar 2011
- - manager: fix crashing bug when notices (or other text parsed by XML_PARSER)
- contain non-ASCII characters.
- Rom: please port to 6.12
-
- lib/
- parse.cpp
-
-David 25 Mar 2011
- - client: Unix compile fixes
-
- client/
- app_start.cpp
- boinc_cmd.cpp
-
-Charlie 25 Mar 2011
- - client: Continue adding OpenCL support.
- - lib: Fix inconsistent line endings in coproc.cpp.
-
- client/
- coproc_detect.cpp
- lib/
- coproc.cpp, .h
-
-David 25 Mar 2011
- - manager: fix the above to detect premature EOF correctly
-
- lib/
- parse.cpp
-
-David 25 Mar 2011
- - scheduler: compile fixes
-
- sched/
- sched_customize.cpp
- sched_version.cpp
- sched_send.cpp
- handle_request.cpp
- sched_types.cpp
-
-David 25 Mar 2011
- - API: compile fixes for MinGW. Fixes #955. from Matt Arsenault
-
- lib/
- stackwalker_imports.h
- boinc_win.h
- Makefile.mingw
- api/
- Makefile.mingw
-
-David 27 Mar 2011
- - client: Win OpenCL fix from [P3D] Crashtest
-
- client/
- coproc_detect.cpp
-
-Rom 28 Mar 2011
- - MGR: Handle the link click events from the notices control for the
- Simgle GUI notices dialog box.
-
- clientgui/
- sg_DlgMessages.cpp, .h
-
-Rom 28 Mar 2011
- - API: Flush buffers before terminating.
- - SCR: Flush buffers before terminating.
-
- api/
- boinc_api.cpp
- clientscr/
- screensaver_win.cpp
-
-Charlie 29 Mar 2011
- - MGR: Fix compile break.
-
- clientgui/
- sg_DlgMessages.h
-
-Charlie 29 Mar 2011
- - client: Continue adding OpenCL support.
-
- client/
- coproc_detect.cpp
- lib/
- coproc.cpp, .h
-
-Rom 29 Mar 2011
- - client: prevent client from crashing in OpenCL code
- - client: fix function prototypes for dynamically calling
- OpenCL functions.
-
- client/
- coproc_detect.cpp
-
-Rom 29 Mar 2011
- - MGR: Remove UserDisagreesPage from the wizard, replace functionality
- by enabling/disabling the next button as needed.
- - MGR: Fix a couple of warnings.
-
- clientgui/
- sg_CustomControls.cpp
- sg_DlgMessages.cpp
- TermsOfUsePage.cpp
- UserDisagreesPage.cpp, .h (Deleted)
- WizardAttach.cpp, .h
-
-Rom 29 Mar 2011
- - WINSCR: So after looking over all the logs from WCG and now from Jacob
- Klein a pattern started to emerge. At the end of the log files the last
- message logged was 0x12 which translates into WM_QUIT. The latest
- documentation on WM_QUIT states it should never show up in the message
- loop to begin with.
-
- The docs now say that WM_QUIT should not be sent to the message loop by
- way of PostMessage. We have been doing things this way for over 5 years.
-
- Change the shutdown logic so that only the primary curtain window can call
- PostQuitMessage() and all other curtain windows just exit when they receive
- a WM_DESTROY message.
-
- I'm not sure what causes this to be a problem on some machines and not
- others. But preliminary results from Jacob are encouraging.
-
- clientscr/
- screensaver_win.cpp, .h
-
-Charlie 30 Mar 2011
- - Mac: Eliminate unused source files UserDisagreesPage.cpp, .h from Mac
- project.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-Rom 30 Mar 2011
- - client: OpenCL Profile Version wasn't being used anywhere and trying to get it
- was causing a crash on Windows. Remove for now.
- - client: Fix ATI OpenCL detection so that the coproc test messages will appear.
-
- client/
- coproc_detect.cpp
- lib/
- coproc.h
-
-Rom 30 Mar 2011
- - client: Beef up the trace logging when attempting to match OpenCL devices to their
- native counterparts.
-
- client/
- coproc_detect.cpp
-
-Charlie 30 Mar 2011
- - client: Continue adding OpenCL support.
- We must check all OpenCL platforms; apparently ATI's platform reports only
- ATI / AMD GPUs, and NVIDIA's platform reports only NVIDIA GPUs.
- The NVIDIA vendor may be reported as "NVIDIA" or"NVIDIA Corporation"
- Note: The client currently always says "No usable GPUs found" because
- David has not yet completed implementing the changes begun on 24 Mar.
-
- client/
- coproc_detect.cpp
- lib/
- coproc.h
-
-Rom 31 Mar 2011
- - lib: Bring header and implementation files into sync over the coproc parsing
- function.
-
- lib/
- coproc.cpp, .h
-
-Rom 31 Mar 2011
- - lib: Fix build break for Linux.
-
- lib/
- procinfo.cpp
-
-Charlie 31 Mar 2011
- - Fix Win build breaks caused by renaming of directory coprocs/cuda/
- to coprocs/NVIDIA/.
- - Eliminate redundant cl.h and clpatform.h in lib/ directory because
- Rom has added them to new coprocs/OpenCL/include/ directory.
- NOTE: It is risky to have multiple copies of the same file in the same
- source tree, as they can easily get out of sync.
-
- Makefile.incl
- lib/
- coproc.h
- cl.h (deleted)
- cl_platform.h (deleted)
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- win_build/
- boinc_cli.vcproj
- boinc_os_ss.vcproj
- boinc_ss.vcproj
- boinccmd.vcproj
- boinclog.vcproj
- boincmgr.vcproj
- example_app_multi_thread.vcproj
- libboinc.vcproj
- libboinc_staticcrt.vcproj
- libboincapi_staticcrt.vcproj
- libgraphics2.vcproj
- sleeper.vcproj
- uc2.vcproj
- uc2_graphics.vcproj
- vboxwrapper.vcproj
- wrapper.vcproj
- wrappture_example.vcproj
-
-Charlie 31 Mar 2011
- - client: Add debug logging to show GPU detection when OpenCL is installed
- but CAL and / or CUDA is not. (I have verified this works for NVIDIA
- GPUs on Mac OS 10.6 without CUDA support installed.)
-
- client/
- coproc_detect.cpp
-
-David 1 Apr 2011
- - server/client: make a stripped-down OpenCL header file, lib/cl_boinc.h,
- for the things that BOINC actually needs
- (fixes server compile problems)
- - client: fix various compile errors in coproc_detect.cpp
-
- lib/
- coproc.h
- cl_boinc.h
- Makefile.am
- client/
- coproc_detect.cpp
-
-David 1 Apr 2011
- - scheduler: removed unused destructors in COPROC that
- caused scheduler to crash (not sure why)
-
- sched/
- sched_types.cpp,h
- lib/
- coproc.h
- procinfo.h
-
-Charlie 1 Apr 2011
- - Mac: Revise Mac project for deleted coprocs/OpenCL/include/ directory and
- new cl_boinc.h.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 1 Apr 2011
- - lib: fix compile warnings by removing virtual functions in COPROC
-
- lib/
- coproc.h
-
-David 4 Apr 2011
- - scheduler: don't send unboundedly many assigned jobs
- - Makefile: don't include unnecessary files
-
- sched/
- sched_assign.cpp
- Makefile.incl
-
-David 4 Apr 2011
- - client: discard messages whose create time OR arrival time
- is more than 30 days ago
-
- client/
- cs_notices.cpp
-
-David 4 Apr 2011
- - client: use larger buffer for app command line,
- enough to accommodate 64KB from wu.cmdline
-
- client/
- app_start.cpp
-
-David 4 Apr 2011
- - scheduler: and
- are per-processor, not per-host.
-
- sched/
- sched_config.cpp
- sched_limit.h
-
-David 6 Apr 2011
- - manager: change simple view notices window title from Messages to Notices
-
- clientgui/
- sg_DlgMessages.cpp
-
-David 6 Apr 2011
- - user web: fix numeric field sanitization in prefs. Fixes #1087.
- - client: if PREFS::max_ncpus_pct is 0, don't set it to 100;
- doing so prevents PREFS::max_ncpus from having any effect.
-
- html/inc/
- prefs_util.inc
- lib/
- prefs.cpp
-
-David 8 Apr 2011
- - client: defer reporting completed tasks if an upload started recently;
- we might be able to report more tasks once the upload completes.
-
- client/
- cs_scheduler.cpp
-
-David 8 Apr 2011
- - "upgrade" script: copy sched/fcgi if it exists
-
- py/Boinc/
- setup_project.py
-
-David 8 Apr 2011
- - "upgrade" script: remove --project_root option,
- and allow full path of project root dir
- instead of the short name
-
- tools/
- upgrade
-
-David 10 Apr 2011
- - user web: fix "delete profile" function
-
- html/
- user/
- delete_profile.php
- inc/
- profile.inc
-
-David 10 Apr 2011
- - scheduler: failure to set up COPROCS structure correctly
- led to per-GPU job limits not being enforced.
-
- lib/
- coproc.cpp
-
-David 10 Apr 2011
- - user web: use special icon for hidden threads (from Jord)
-
- html/
- inc/
- forum.inc
- user/
- forum_forum.php
- img/
- hidden.png
-
-Rom 11 Apr 2011
- - MGR: Remove unneeded asserts.
-
- clientgui/
- BOINCTaskBar.cpp
-
-Rom 13 Apr 2011
- - MGR: Add missing keyboard accelerators for the event log.
- - MGR: Re-enable the next button when the terms of use wizard
- page when the back button is pressed.
-
- clientgui/
- DlgEventLog.cpp
- TermsOfUsePage.cpp
-
-David 13 Apr 2011
- - admin web: remove options to delete apps and app versions.
- This is almost always a bad idea.
-
- html/ops/
- manage_apps.php
- manage_app_versions.php
-
-David 13 Apr 2011
- - client:
- - add log flag
- - show trickle-up and int file upload msgs if set
- - if scheduler RPC reason is trickle-up, say so
- - manager:
- - restore "non CPU intensive" to task description
- - project properties: show if RPC in progress or trickle-up pending.
- (show these low-probability things only if present)
- - manager: fix Unix build
-
- (from Ian Hay)
-
- clientgui/
- MainDocument.cpp
- Makefile.am
- DlgITemProperties.cpp
- lib/
- gui_rpc_client_print.cpp
- client/
- log_flags.cpp,h
- scheduler_op.cpp
- app.cpp
- app_control.cpp
-
-Rom 14 Apr 2011
- - MGR: Check to see if keyboard accelerators can be redefined on the fly.
-
- clientgui/
- DlgEventLog.cpp
-
-Rom 14 Apr 2011
- - MGR: Add missing event handler map item.
-
- clientgui/
- sg_DlgMessages.cpp
-
-David 14 Apr 2011
- - 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
- 1
- in its descriptor.
-
- lib/
- procinfo.cpp,h
- samples/wrapper/
- wrapper.cpp
- api/
- boinc_api.cpp,h
-
-David 15 Apr 2011
- - client: fix bug that cause notice RSS feeds to disappear and reappear,
- and notices to erroneously be shown as new.
-
- client/
- cs_notice.cpp
-
-David 18 Apr 2011
- - client: when estimating job runtime based on fraction done,
- use the elapsed time when fraction done was last reported,
- not current elapsed time.
- Fix problem where est time remaining increases linearly,
- then abruptly decreases when new frac done is reported.
- From Bruce Allen.
-
- client/
- app.h
- app_control.cpp
- work_fetch.cpp
-
-David 18 Apr 2011
- - client: fix a couple of the messages that are appended to
- a job's stderr when the job is aborted
-
- client/
- client_state.cpp
- app_start.cpp
-
-David 18 Apr 2011
- - user web and notices: fix message describing friend request
-
- html/inc/
- friend.inc
-
-David 18 Apr 2011
- - client: replace % with %% in messages from scheduler
- (else they're interpreted as format strings)
-
- client/
- client_state.h
- cs_scheduler.cpp
-
-David 18 Apr 2011
- - client: fix message describing work request
-
- client/
- scheduler_op.cpp
-
-Rom 19 Apr 2011
- - MGR: Adjust the width of the various tabs in advanced view if the notice text
- width changes.
- - MGR: Remove dead code.
-
- clientgui/
- BOINCBaseFrame.cpp, .h
- AdvancedFrame.cpp
-
-David 19 Apr 2011
- - scheduler: don't send translatable messages to pre-6.12 clients
-
- sched/
- sched_types.cpp
-
-David 19 Apr 2011
- - admin web: allow specifying an SVN config dir in the web config file,
- in case your svn requires a proxy or something.
- From Boris Dayma.
-
- html/
- ops/
- index.php
- project.sample/
- project.inc
-
-David 20 Apr 2011
- - web: show "logged in as" info on every page;
- remove funky "log out" link from user page
- - web: go to home page on logout,
- not dorky "you are logged out" page
-
- html/
- inc/
- user.inc
- util.inc
- user/
- sample_index.php
- logout.php
- project.sample/
- project.inc
-
-David 20 Apr 2011
- - web: don't show "log in" link on login or create account pages
-
- html/
- inc/
- util.inc
- user/
- login_form.php
-
-David 20 Apr 2011
- - client: if an app version has a missing GPU,
- we still need to keep track of the usage
- and write it to the state file.
- - get client simulator working again
-
- client/
- client_types.cpp,h
- sim.cpp
- tools/
- backend_lib.cpp
-
-Charlie 21 Apr 2011
- - Mac: Update XCode Project to link procinfo.cpp and procinfo_mac.cpp into
- boinscr (ss_app) because boinc_api.cpp now calls kill_descendants() and
- suspend_or_resume_descendants().
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 21 Apr 2011
- - create_work and other tools: verify that the current dir,
- parent dir, or BOINC_PROJECT_DIR actually is a project dir.
- - client simulator: improvements
-
- sched/
- sched_config.cpp
- tools/
- create_work.cpp
- lib/
- coproc.cpp
- client/
- client_state.cpp,h
- sim.cpp
- work_fetch.cpp
- cs_statefile.cpp
-
-Charlie 22 Apr 2011
- - Mac: We no longer request PowerPC applications on Intel Macs
- because all projects supporting Macs should have Intel
- applications by now, and PowerPC emulation ("Rosetta") is
- not always supported in newer versions of OS X.
-
- client/
- cs_platforms.cpp
-
-David 23 Apr 2011
- - client: don't use the Snooze mechanism to handle
- OS-requested suspension
- (especially with a 1-hour snooze period).
- Instead, handle them directly.
-
- client/
- client_state.cpp,h
- cs_prefs.cpp
- main.cpp
- sysmon_win.cpp
- clientgui/
- MainDocument.cpp
- lib/
- common_defs.cpp
- str_util.cpp
- sched/
- get_file.cpp
- send_file.cpp
-
-David 23 Apr 2011
- - server: rename send_file to put_file.
- Factor out put_file() and get_file() functions
- so they have a C++ API as well as command-line
-
- sched/
- put_file.cpp
- get_file.cpp
- Makefile.am
- tools/
- backend_lib.cpp,h
- lib/
- common_defs.h
-
-Charlie 24 Apr 2011
- - client: fix bug: statement had no effect.
-
- lib/
- str_util.cpp
-
-David 24 Apr 2011
- - account manager RPC: include TIME_STATS and NET_STATS in request message
-
- client/
- acct_mgr.cpp
-
-David 24 Apr 2011
- - client: show error messages from account managers correctly
- - client/manager: if a job is missing a GPU, show details
- - client: win compile fix
-
- client/
- acct_mgr.cpp
- client_msgs.cpp,h
- client_types.cpp
- sysmon_win.cpp
-
-David 24 Apr 2011
- - client: simplify the semantics of sticky files:
- - All sticky files are reported on each scheduler RPC
- - If a scheduler reply says to delete a file, clear its sticky flag
- In particular:
- - remove the "send file list" tag in scheduler RPC replies
- - remove FILE_INFO::marked_for_delete
- - remove FILE_INFO::report_on_rpc
- - remove the request_file_list program
-
- client/
- client_types.cpp,h
- client_state.cpp
- cs_scheduler.cpp
- scheduler_op.cpp
- sched/
- request_file_list.cpp
- Makefile.am
-
-David 24 Apr 2011
- - client: shuffle code to move CONFIG and LOG_FLAGS
- into lib/cc_config.h,
- in preparation for adding GUI RPCS
-
- client/
- main.cpp
- log_flags.cpp,h
- lib/
- Makefile.am
- cc_config.cpp,h (new)
-
-Charlie 24 Apr 2011
- - Mac: Add new cc_config.cpp,h to XCode Project.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-Rom 25 Apr 2011
- - SCR: In certain cases WM_QUIT is sent to the message proc, which is
- is causing some type of deadlock and we don't break out of the message
- pump like we are suppose too. For debug purposes, let us call DebugBreak()
- and see what the other threads are up too.
-
- clientscr/
- screensaver_win.cpp
-
-David 25 Apr 2011
- - validator: fix bug when check_pair() returns retry=true,
- reported by Travis Desell.
-
- sched/
- validator.cpp
-
-David 26 Apr 2011
- - client: fix bugs in runtime estimation of jobs that
- have run before but are not currently running.
- Old:
- - We maintain the most recent fraction_done in state file.
- But for apps that checkpoint seldom or never,
- this is not the relevant value,
- and frac done may go down when the app runs.
- - fraction_done_elapsed_time is not initialized,
- and can have garbage values for jobs that haven't run yet.
- New:
- - Record, in the state file, the values of
- fraction_done and fraction_done_elapsed_time
- at the most recent checkpoint.
- When the client starts up, use these values.
-
- client/
- app.cpp,h
- app_control.cpp
-
-David 26 Apr 2011
- - web: fix infinite recursion when project is down
-
- html/inc/
- util.inc
-
-Rom 26 Apr 2011
- - 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
-
-David 26 Apr 2011
- - web: eliminate double calls to page_head()
-
- html/inc/
- util.inc
-
-David 26 Apr 2011
- - web: fix bug that cause "use signature" preference to be ignored
-
- html/user/
- forum_reply.php
-
-David 26 Apr 2011
- - client: fix bug in [23431]
-
- client/
- client_types.cpp
-
-Charlie 27 Apr 2011
- - lib, MGR: Implement get_cc_config, set_cc_config RPCs.
-
- client/
- log_flags.cpp
- clientgui/
- AsyncRPC.cpp,.h
- lib/
- cc_config.cpp,.h
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- win_build/
- boinc_os_ss.vcproj
- boinc_ss.vcproj
- boincmgr.vcproj
-
-Charlie 28 Apr 2011
- - MGR: Begin adding Exclusive Apps pane to Computing Prefs dialog.
- - MGR: Implement Manage Settings menu item in Simple GUI.
-
- clientgui/
- DlgAdvPreferences.cpp
- DlgAdvPreferencesBase.cpp,.h
- sg_BoincSimpleFrame
-
-David 28 Apr 2011
- - client: fix bug that prevented work fetch in some cases
-
- client/
- client_state.cpp
- main.cpp
- work_fetch.cpp
- lib/
- coproc.h
- hostinfo.cpp
-
-David 28 Apr 2011
- - client: change the handling of account manager replies:
- Old:
- If the AM sends us a project we're already attached to,
- and the authenticator is different,
- print an error message and don't change anything.
- Problem:
- If the AM is using weak authenticators,
- and the user has changed their password,
- the weak authenticator changes.
- In this case the AM will send the new weak auth,
- the client will ignore it,
- and all subsequent scheduler RPCs will fail
- until the user removes/adds the project.
- Solution:
- If the AM sends us a new auth for a project, use it.
- Note:
- From the time the password is changed on the project
- to the next AM RPC,
- the client will have a bad weak auth and scheduler RPCs will fail.
- That's OK.
-
- client/
- acct_mgr.cpp
-
-David 28 Apr 2011
- - scheduler: compile fix
- - client: don't print "Insufficient GPU" messages
- unless is set
-
- client/
- cpu_sched.cpp
- html/inc/
- util.inc
- sched/
- sched_types.cpp
-
-David 28 Apr 2011
- - client: update to previous commit:
- only change the authenticator if both old and new
- authenticators are weak
- (strong authenticators don't change).
-
- client/
- acct_mgr.cpp
-
-Charlie 29 Apr 2011
- - MGR: Continue adding Exclusive Apps pane to Computing Prefs dialog.
- - lib: add missing items in CONFIG, PROXY_INFO struct initializers.
-
- client/
- log_flags.cpp,.h
- clientgui/
- DlgAdvPreferences.cpp,.h
- DlgAdvPreferencesBase.cpp
- lib/
- cc_config.cpp,.h
- gui_rpc_client_ops.cpp
- proxy_info.cpp
-
-Rom 29 Apr 2011
- - VBOX: Checkpoint, Re-implement the start/stop/suspend/resume/is_running
- and is_registered functions using the vboxmanage app.
- - VBOX: Simplify the virtualbox_vbm_popen function and remove a buffer
- copy operation.
-
- samples/vboxwrapper/
- vbox.cpp, .h
-
-David 29 Apr 2011
- - GUI RPC client library: increase request buffer size
- from 4KB to 100B
-
- lib/
- gui_rpc_client.cpp
-
-Rom 29 Apr 2011
- - VBOX: Checkpoint, Re-implement the registering and un-registering of the
- vm using the vboxmanage app.
-
- samples/vboxwrapper/
- vbox.cpp, .h
- vm.cpp, .h
-
-David 29 Apr 2011
- - client: increase request msg buffer size for GUI RPCs
- client/
- gui_rpc_client_ops.cpp
- gui_rpc_client.cpp
-
-Charlie 29 Apr 2011
- - MGR: Fix a few bugs in Exclusive Apps pane of Computing Prefs dialog.
-
- clientgui/
- DlgAdvPreferences.cpp
- lib/
- cc_config.cpp
-
-Charlie 1 May 2011
- - lib: initialize data_dir in CONFIG::defaults(); don't write to
- cc_config.xml if empty string, because older versions of BOINC choke.
-
- lib/
- cc_config.cpp
-
-Rom 3 May 2011
- - VBOX: Handle both abort scenarios
-
- samples/vboxwrapper/
- vbox.cpp, .h
- vm.cpp, .h
-
-Charlie 4 May 2011
- - MGR: Continue adding Exclusive Apps pane to Computing Prefs dialog.
-
- clientgui/
- DlgAdvPreferences.cpp
- DlgAdvPreferencesBase.cpp
-
-David 4 May 2011
- - vbox wrapper: add Makefile
- - notices: fix bug where the URL in "friend request" notices
- doesn't work if you're not already logged in.
-
- html/
- inc/
- friend.inc
- util.inc
- user/
- friend.php
- login_form.php
- samples/vboxwrapper/
- vbox.cpp
- Makefile
-
-Rom 4 May 2011
- - VBOX: Add function for a host being able to execute tasks within
- guest VMs.
-
- samples/vboxwrapper/
- vbox.cpp, .h
- vm.cpp, .h
-
-Rom 4 May 2011
- - VBOX: Switch to using CreateProcess and CreatePipe on Windows, otherwise we
- get a bunch of flicking windows when we preform an operation against
- VirtualBox.
-
- samples/vboxwrapper/
- vbox.cpp
-
-Charlie 5 May 2011
- - MGR: Fix compiler warning.
-
- clientgui/
- DlgAdvPreferences.cpp
-
-David 5 May 2011
- - web: don't show login stuff on server status page
-
- html/inc/
- util.inc
-
-David 5 May 2011
- - web: don't error out on old-style notice URL
-
- sched/
- validator.cpp
- html/user/
- friend.php
-
-David 5 May 2011
- - web RPC: add RPC for getting teams by country
-
- html/user/
- team_search.php
-
-David 6 May 2011
- - wrapper: tell the client when we checkpoint
- (else checkpoint_elapsed_time etc. don't get set)
- - make_project: enable update_stats by default
- - update_stats: add --min_age option
-
- sched/
- update_stats.cpp
- tools/
- make_project
- samples/wrapper/
- wrapper.cpp
-
-Charlie 7 May 2011
- - Win: add missing procinfo_win.cpp to Windows libboinc project.
-
- win_build/
- libboinc.vcproj
-
-David 7 May 2011
- - client: fix bug that broke work fetch.
- We can't set coprocs.n_rsc to zero in CONFIG::defaults().
- - multi_thread app: update initialization
-
- lib/
- cc_config.cpp
- samples/multi_thread/
- multi_thread.cpp
-
-David 7 May 2011
- - client: add config option.
- Defines the transfer rate below which the connection
- is considered idle, and timeout starts
-
- lib/
- cc_config.cpp,h
- client/
- http_curl.cpp
- cs_files.cpp
-
-David 7 May 2011
- - client: implement "report immediately" at the level of
- individual jobs rather than globally.
- To use this, projects must add
- to the elements in job templates
-
- client/
- client_types.cpp,h
- cs_scheduler.cpp
-
-Rom 9 May 2011
- - VBOX: Implement basic cpu time accounting and checkpointing
- for VMs.
-
- samples/vboxwrapper/
- vbox.cpp, .h
- vboxwrapper.cpp
- vm.cpp, .h
-
-David 10 May 2011
- - client: don't check memory usage immediately after hibernation
-
- client/
- client_state.h
- app.cpp
-
-David 10 May 2011
- - vbox wrapper: updates
-
- samples/vboxwrapper/
- vbox.cpp
- vm.cpp,h
-
-Charlie 10 May 2011
- - MGR: Fixes to new Simple GUI for Linux.
-
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_ProjectPanel.cpp
-
-Charlie 11 May 2011
- - MGR: Fixes to new Simple GUI for Linux.
-
- clientgui/
- sg_PanelBase.cpp, .h
- sg_TaskPanel.cpp
-
-David 11 May 2011
- - Change the way update_versions works, and reimplement it in PHP.
- Problems with the old version:
- - Lots of info encoded in file and directory names: messy kludge
- - The convention that directory name == main program name
- created a bad situation when using the wrapper:
- if you made a new version of your application,
- you were forced make a new version of the wrapper
- just so it could have a different name.
- The new version is described here:
- http://boinc.berkeley.edu/trac/wiki/AppVersionNew
- - Remove some Python code that suppored the old version
- - client: some fixes to dir_size() that might fox
- a buffer overflow when using symbolic links
-
- tools/
- update_versions
- html/inc/
- boinc_db.inc
- lib/
- filesys.cpp
- py/Boinc/
- tools.py
-
-David 11 May 2011
- - client: show HTTP errors in text form as well as number
-
- client/
- pers_file_xfer.cpp
- file_xfer.cpp
-
-David 11 May 2011
- - client: fix problem with recursion in dir_size(), this time for real.
-
- lib/
- filesys.cpp
-
-Charlie 12 May 2011
- - MGR: Fixes to new Simple GUI for Linux.
-
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_PanelBase.cpp, .h
-
-Charlie 13 May 2011
- - MGR: Fixes to new Simple GUI for Linux and Windows.
- - MGR: Fix logic to enable / disable Show Graphics in new Simple GUI.
- - MGR: make sure new Simple GUI Pause / Resume button is large enough
- for the larger of the localized words for Pause and Resume; do
- the same for the Add Project / Synchronize button.
-
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_PanelBase.cpp, .h
- sg_ProjectPanel.cpp, .h
- sg_TaskCommandPopup.cpp, .h
- sg_TaskPanel.cpp, .h
-
-Charlie 13 May 2011
- - lib: Fix compile break on Windows.
-
- lib/
- filesys.cpp
-
-David 13 May 2011
- - create_work: allow multiple URLs for non-local input files
- (from Zoltan Farkas)
- - scheduler: fix message describing per-app limits
-
- sched/
- sched_main.cpp
- tools/
- backend_lib.cpp
- html/project.sample/
- project.inc
-
-David 13 May 2011
- - scheduler: per-processor limits should be based on
- "effective" # of processors (taking prefs into account)
- rather than the physical number
-
- sched/
- sched_send.cpp
- sched_limit.h
-
-David 13 May 2011
- - client/manager: don't show resource usage for non-CPU-intensive jobs
-
- client/
- client_types.cpp
- clientgui/
- MainDocument.cpp
-
-Charlie 16 May 2011
- - MGR: New Simple GUI: better displays if no tasks or no projects.
-
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_ProjectPanel.cpp
-
-David 16 May 2011
- - client: XML-escape the contents of stderr files;
- otherwise non-ASCII characters in client_state.xml
- make it invalid XML
- - client: fix (I think) to scheduling logic.
- a job is preemptable if it's finished its time slice and
- Old: has checkpointed in last 10 sec
- New: has checkpointed since the end of the time slice
-
- client/
- app_control.cpp
- cpu_sched.cpp
- api/
- boinc_api.cpp
- lib/
- Makefile.am
-
-David 17 May 2011
- - update_versions: fix bug in version number parsing (from Kevin)
-
- tools/
- update_versions
-
-David 17 May 2011
- - scheduler: if an in-progress limit is given in config_aux.xml,
- and is not specified, default it to false.
- - scheduler: add some log messages
-
- sched/
- sched_limit.cpp
- sched_version.cpp
- sched_send.cpp
- sched_main.cpp
-
-David 17 May 2011
- - scheduler: add config option.
- If set, and a WU has nonzero batch,
- it is interpreted as a user ID,
- and the job will be sent only to hosts with that user ID.
-
- Note: the use of workunit.batch is arbitrary;
- we could also use workunit.opaque or other deprecated field.
-
- client/
- cpu_sched.cpp
- sched/
- sched_send.cpp,h
- sched_config.cpp,h
-
-Rom 17 May 2011
- - MGR: Prepopulate both the username field and the email address
- field with the cookie information since we do not know ahead
- of time which format the account manager uses. Once the
- get_project_config RPC has completed, we'll know which one
- is the correct one.
-
- clientgui/
- WizardAttach.cpp
-
-Charlie 18 May 2011
- - MGR: Fix welcome message in Account Manager Wizard completion page.
-
- clientgui/
- CompletionPage.cpp
-
-David 18 May 2011
- - update_versions: make work
-
- tools/
- update_versions
-
-David 18 May 2011
- - client: show GPU device number correctly
-
- client/
- client_types.cpp
-
-Rom 19 May 2011
- - client: Account for new registry location that the new VirtualBox installer
- stashes the version number. Check the new location first, if not found go
- back to the original location.
-
- client/
- hostinfo_win.cpp
-
-Rom 19 May 2011
- - MGR: Initial stab at supporting Google Chrome cookies. SQLite engine needs
- to be upgraded. Write it while the code is still in my head.
-
- clientgui/
- browser.cpp, .h
-
-David 19 May 2011
- - client: add log messages showing steps in exiting all tasks,
- enabled by
- - client: remove redundant task-start messages
-
- client/
- app_start.cpp
- app_control.cpp
- cpu_sched.cpp
-
-David 20 May 2011
- - update_versions: trim XML strings
-
- tools/
- update_versions
- db/
- boinc_db.h
-
-David 20 May 2011
- - client: on hibernate, don't wait for apps to exit
- (NCI apps never will)
-
- client/
- sysmon_win.cpp
-
-David 21 May 2011
- - client: if project is set to "don't request more work",
- report completed tasks immediately
-
- client/
- cs_scheduler.cpp
-
-Charlie 22 May 2011
- - SCR: Fix Mac crash bug when user clicks SS Test button in system preferences.
-
- clientscr/
- mac_saver_module.cpp
-
-David 24 May 2011
- - update_versions: flag main program as executable,
- otherwise client will reject it
-
- tools/
- update_versions
-
-Charlie 25 May 2011
- - MGR: Fix shutting down of Client on Linux.
-
- clientgui/
- BOINCGUIApp.cpp
-
-Rom 25 May 2011
- - scheduler: unescape the stderr_out field after parsing so we do not break
- other applications parsing the data.
-
- sched/
- sched_types.cpp
-
-David 25 May 2011
- - client: escape only non-ASCII chars in stderr out, not control chars
-
- sched/
- sched_types.cpp
- lib/
- parse.cpp,h
- client/
- app_control.cpp
-
-David 25 May 2011
- - client: if is specified in config file,
- set host_info.p_ncpus to that value,
- so that scheduler requests report that number of CPUs
-
- client/
- cpu_sched.cpp
-
-David 25 May 2011
- - client: fix boinc_make_dirs() (from Josh Highley)
- - client: allow "non_cpu_intensive" to be specified independently
- for different apps in a project.
- This is intended to support projects that use the
- Attic file distribution system,
- which needs to have a daemon running.
-
- lib/
- filesys.cpp,h
- client/
- client_types.cpp,h
- app_control.cpp
- cpu_sched.cpp
-
-David 25 May 2011
- - client: equate notices if their text is the same after removing digits,
- so that "need 25 GB disk" and "need 24 GB disk"
- don't result in 2 notices.
-
- client/
- cs_notices.cpp
-
-David 25 May 2011
- - Manager: tweak messages in exit dialog
-
- clientgui/
- DlgExitMessage.cpp
-
-David 27 May 2011
- - web: make front page work for Bossa projects
-
- html/user/
- sample_index.php
-
-David 31 May 2011
- - client: when killing a nonresponsive task,
- kill its descendant processes too
- - manager: tweak strings related to task FLOP size
-
- client/
- client_state.cpp
- app_control.cpp
-
-David 31 May 2011
- - client: Rom pointed out that on Win in secure mode,
- the client won't be able to convert descendant PIDs to handles,
- and therefore won't be able to terminate them. Sigh.
- So terminate the main process using its handle
- (we'll still kill descendants in the non-secure case)
-
- client/
- app_control.cpp
-
-David 31 May 2011
- - web: add counts in task list pages
-
- html/
- inc/
- boinc_db.inc
- util.inc
- result.inc
- user/
- results.php
-
-Charlie 2 Jun 2011
- - MGR: Add SQLite3 v3.7.6.3 source code to Mac XCode project, adding
- initializers for two local variables to suppress compiler warnings;
- don't link Mac Manager with older pre-installed sqlite3 library.
-
- clientgui/
- sqlite3.c (added)
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-Charlie 2 Jun 2011
- - MGR: If Firefox 3 SQL query fails because cookie database is locked,
- make a temporary copy of the cookie file and query that. This works
- around a bug in some builds of Firefox 3.5.x.
-
- clientgui/
- browser.cpp
-
-Charlie 3 Jun 2011
- - MGR: Fixes for cookie detection on Google Chrome browser.
-
- clientgui/
- browser.cpp
-
-David 3 Jun 2011
- - client: my checkin of 8 Apr 2011 didn't work in some cases, e.g.:
- - client finishes a job
- - before upload starts, work fetch runs and decides to fetch work
- from that project.
- Solution:
- - set PROJECT::last_upload_start when job finishes,
- and clear it when a job is uploaded.
- - defer scheduler RPC for a limited time if last_upload_start
- is set, even if a transfer is not active
-
- client/
- client_state.cpp
- cs_scheduler.cpp
-
-David 3 Jun 2011
- - scheduler: app version FLOPS estimates were wrong
- in the case where we don't have enough elapsed-time stats
- for the host/app_version.
- The right formula is (peak FLOPS)/app_version.avg_pfc
-
- sched/
- sched_version.cpp
-
-Charlie 3 Jun 2011
- - MGR: Convert Google Chrome browser time (microseconds since
- January 1, 1601) to UNIX time (seconds since January 1, 1970)
- clientgui/
- browser.cpp
-
-David 5 Jun 2011
- - scheduler, back end: add "homogeneous app version" feature.
- Lets you specify, on a per-app basis,
- that all instances should be done using the same app version.
- This is for validation in the presence of GPUs.
- - scheduler: code cleanup
- - Instead of adding a bunch of non-DB fields to RESULT,
- used a derived class SCHED_DB_RESULT.
- - Instead of storing a pointer to BEST_APP_VERSION in RESULT,
- store the structure itself.
- This simplifies the memory allocation situation.
- - client: condition "Got server request to delete file" messages
- on
-
- db/
- boinc_db.cpp,h
- schema.sql
- sched/
- sched_types.cpp,h
- sched_version.cpp
- sched_send.cpp,h
- sched_array.cpp
- sched_locality.cpp
- transitioner.cpp
- sched_resend.cpp
- sched_assign.cpp
- sched_score.cpp
- html/ops/
- db_update.php
- client/
- cs_scheduler.cpp
-
-David 5 Jun 2011
- - scheduler: when creating HOST_APP_VERSION records,
- initialize the n_jobs_today field correctly
-
- sched/
- sched_send.cpp
-
-David 5 Jun 2011
- - lib: fix compile warning
-
- lib/
- filesys.cpp
-
-Eric K 6 Jun 2011
- - Added safe exit capabilities for Windows CUDA applications.
- - checking in the app can be added as below.
-
-#ifdef _WIN32
-//Jason: Safe exit check macro to play nicer with Cuda & MS-CRT
- #ifdef USE_CUDA
- #define SAFE_EXIT_CHECK do { \
- if (worker_thread_exit_request) { \
- fprintf(stderr,"-> Worker received exit request, syncing Cuda...");
-cudaThreadSynchronize(); fprintf(stderr,"Done.\n"); \
- fprintf(stderr," Worker Freeing Cuda data..."); cudaAcc_free();
-fprintf(stderr,"Done.\n"); \
- fprintf(stderr," Worker Acknowledging exit request, spinning->\n");
-worker_thread_exit_ack = true; \
- while (1) Sleep(10); \
- } \
- } while (0);
- #else
- #define SAFE_EXIT_CHECK do { \
- if (worker_thread_exit_request) { \
- fprintf(stderr," Worker Acknowledging exit request, spinning-> ");
-worker_thread_exit_ack = true; \
- while (1) Sleep(10); \
- } \
- } while (0);
- #endif
-#else // Linux or other probably have their own safe exit handling, defined as
-blank, do nothing
- #define SAFE_EXIT_CHECK
-#endif
-
-and install at the top of the cffft loop, and more locations if desired:
- SAFE_EXIT_CHECK;
-
-I'd like to implement these as BOINC API functions, but have not yet done so.
-
-David 6 Jun 2011
- - backend: use new XML parser for input template files
- (so that they don't have to be 1 element/line)
- and also allow optional root element
- - fix bug in WORKUNIT DB interface
-
- db/
- boinc_db.cpp
- tools/
- backend_lib.cpp
-
-David 6 Jun 2011
- - API: undo the above API checkin, and provide a cleaner and
- documented way of doing the same thing; see
- http://boinc.berkeley.edu/trac/wiki/AppCoprocessor
-
- api/
- boinc_api.cpp,h
-
-Charlie 7 Jun 2011
- - MGR: Fix bug I introduced on 6 Aug 2010: if currently connected host name is
- empty string, we must treat it as localhost. Implement different logic to
- skip exit confirmation dialog and avoid shutting down client if second
- instance of Manager is launched but Select Computer dialog is cancelled.
-
- clientgui/
- MainDocument.cpp, .h
-
-Rom 7 Jun 2011
- - MGR: Cleanup compiler warnings. Fixes# 1051
- (From: Steffen Möller)
-
- clientgui/
- AdvancedFrame.cpp
- clientgui/common/
- wxFlatNotebookImages.h
- clientgui/res/skins/default
- advanced_link_image.xpm
-
-David 7 Jun 2011
- - client: fix bug in app termination logic
-
- client/
- app_control.cpp
-
-Charlie 8 Jun 2011
- - MGR: Fix About dialog to show (PowerPC) instead of (x86) when appropriate.
-
- clientgui/
- DlgAbout.cpp
-
-Charlie 8 Jun 2011
- - MGR: Rework logic to skip exit confirmation dialog and avoid shutting down
- client if second instance of Manager is launched, so it works if connect
- to remote host fails.
- - MGR: If original instance of Manager is connected to remote host (or none)
- when exiting Manager. skip exit confirmation dialog but do shut down local
- client if requested in most recently run exit dialog, whether or not
- "Remember this decision" was set.
- - MGR: Use same exit confirmation dialog wording for Linux as for Windows.
-
- clientgui/
- BOINCGUIApp.cpp, .h
- MainDocument.cpp, .h
- DlgExitMessage.cpp
-
-Rom 8 Jun 2011
- - MGR: Disable list view rules for now.
-
- clientgui/
- BOINCBaseView.h
-
-Charlie 8 Jun 2011
- - MGR: Restore list view rules again.
-
- clientgui/
- BOINCBaseView.h
-
-David 8 Jun 2011
- - API: forgot to fix boinc_api.h
-
- api/
- boinc_api.h
-
-Charlie 9 Jun 2011
- - MGR: Event Log menu item restores Event Log when Minimized; fixed on Mac
- and Windows XP, hopefully on other versions of Windows OS.
-
- clientgui/
- BOINCBaseFrame.cpp
- BOINCGUIApp.cpp
-
-David 10 Jun 2011
- - client: fix bug in logic that defers work fetch if upload active
-
- client/
- cs_scheduler.cpp
-
-David 10 Jun 2011
- - update_versions: read from stdin a different way
-
- tools/
- update_versions
-
-David 10 Jun 2011
- - client: initialize some PROJECT fields (from Ian Hay).
- May fix bug in defer work fetch while uploading logic
-
- client/
- client_types.cpp
-
-David 12 Jun 2011
- - client: change --detach_phase_two (??) to --detach_console
- - eliminate compiler warnings (e.g. shadowed vars)
- in various places, mostly in client
-
- sched/
- sched_main.cpp
- lib/
- cc_config.cpp
- samples/
- many.cpp
- client/
- many.cpp
- api/
- boinc_api.cpp
-
-David 12 Jun 2011
- - client:restore --detach_phase_two as synonym for --detach_console
-
- client/
- cs_cmdline.cpp
-
-David 13 Jun 2011
- - web: when creating an item in News forum,
- show "Export as Notice?" checkbox, and default to off.
-
- db/
- schema.sql
- html/
- inc/
- forum.inc
- user/
- forum_post.php
-
-Bernd 14 Jun 2011
- - API: fix install headers in Makefile.mingw
-
- lib/
- Makefile.mingw
-
-Rom 15 Jun 2011
- - MGR: Update the project list in the wizard to make use
- of more of the information contained in the all projects
- list and also make it more accessible than the previous
- implementation.
-
- clientgui/
- ProjectInfoPage.cpp, .h
- WizardAttach.cpp, .h
- clientgui/res/
- linuxicon.xpm
- macosicon.xpm
- windowsicon.xpm
- clientgui/res/skins/default/graphic/
- advanced_link_image.xpm
- win_build/
- libboinc.vcproj
- libboincapi_staticcrt.vcproj
-
-Rom 15 Jun 2011
- - MGR: Add more polish to the new project list.
-
- clientgui/
- ProjectInfoPage.cpp, .h
- clientgui/res/
- blankicon.xpm
-
-David 15 Jun 2011
- - manager: tweaks to project list
-
- clientgui/
- ProjectInfoPage.cpp
-
-Charlie 16 Jun 2011
- - MGR: Fix project list layout for Mac; ellipse long items by size
- instead of by number of characters. Set tooltips of possibly
- ellipsed items to full text for that item so user can read it.
-
- clientgui/
- ProjectInfoPage.cpp, .h
-
-Charlie 16 Jun 2011
- - Fix typo in all projects list: Urbana-Chamapign -> Urbana-Champaign.
-
- docs/
- projects.inc
- win_build/
- installerv2/
- redist/
- all_projects_list.xml
-
-David 16 Jun 2011
- - client: we were assuming that if we ask a task to exit
- and its main process exits, everything is OK.
- That's not necessarily the case - buggy apps may have
- subprocesses that the main process fails to kill.
-
- Solution: when we request a task to exit or abort,
- make a list of the descendants.
- When the main process exits, kill any remaining descendants.
-
- Also: we weren't checking for the ABORT_PENDING case
- in the process exit logic.
- This may explain the 5/15 second delay in detaching or
- resetting a project with running tasks
-
- client/
- app.cpp,h
- app_control.cpp
-
-Charlie 17 Jun 2011
- - MGR: Fix project list identification of CUDA, ATI, and MT support (check
- for "['cuda" not "[cuda". "['ati" not "[ati" and "['mt" not "[mt".)
-
- clientgui/
- ProjectInfoPage.cpp
-
-Rom 17 Jun 2011
- - MGR: Revert previous change to the project list identification code.
- - MGR: Fix a bug introduced in a previous commit where the plan class
- was being surrounded by single quotes when generating an updated
- project list.
-
- clientgui/
- ProjectInfoPage.cpp
- doc/
- get_platforms.inc
-
-Rom 17 Jun 2011
- - MGR: Change the project list description control into an HTML based
- window.
-
- clientgui/
- ProjectInfoPage.cpp, .h
-
-David 17 Jun 2011
- - client: add a flag to APP_VERSION.
- If set, the app does its own CPU throttling
- so the client doesn't have to.
-
- client/
- client_types.cpp,h
- app_control.cpp
-
-Charlie 18 Jun 2011
- - MGR: Don't mark a project as supported if it requires a coprocessor we lack.
- NOTE: if the platform entry contains a modifier such as [cuda] or [ati],
- that capability is required. If a project offers both a cuda application
- and a CPU-only application for an operating system, it must have two
- separate platform entries for that OS, one with [cuda] and one without.
- Likewise for ati and mt.
-
- clientgui/
- ProjectInfoPage.cpp
-
-David 20 Jun 2011
- - web: use ReCaptcha for account creation as well as profile creation
- (from Daniel)
- - GUI RPC: remove have_cuda from CC_STATE.
- Use the info in host_info.coprocs instead.
-
- html/
- ops/
- pass_percentage_by_platform.php
- user/
- create_account_form.php
- create_account_action.php
- lib/
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
-
-Rom 20 Jun 2011
- - MGR: Fix build breaks related to GUI RPC changes.
-
- clientgui/
- AdvancedFrame.cpp
- AsyncRPC.cpp
- BOINCTaskBar.cpp
- DlgItemProperties.cpp
- ProjectInfoPage.cpp
-
-Charlie 20 Jun 2011
- - client: logic fix: test coprocs.none() after coprocs.add() calls, not before.
-
- client/
- client_state.cpp
-
-David 21 Jun 2011
- - GUI RPC: restore , elements in CC_STATE
- for compatibility
- - client: copy coprocs to host_info._coprocs at startup
- (else GUI RPCs don't have right info)
-
- client/
- client_state.cpp
- cs_statefile.cpp
- lib/
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
-
-David 21 Jun 2011
- - web: add a web-service interface for remotely submitting, querying
- and controlling batches of jobs
- - web: add an administrative interface for controlling
- user permissions for submitting jobs
- - web: add an interface where users can view and control
- their submitted jobs
- See: http://boinc.berkeley.edu/trac/wiki/RemoteJobs
- This is at a functional but rough stage.
-
- db/
- schema.sql
- tools/
- create_work.cpp
- html/
- ops/
- submit_permissions.php
- db_update.php
- submit_example.php
- inc/
- submit_db.inc
- boinc_db.inc
- db_conn.inc
- user/
- submit.php
- submit_status.php
-
-Charlie 21 Jun 2011
- - MGR: Revert Rom's manager changes of 20 June related to GUI RPC changes,
- for compatibility with older Clients.
-
- clientgui/
- AdvancedFrame.cpp
- AsyncRPC.cpp
- BOINCTaskBar.cpp
- DlgItemProperties.cpp
- ProjectInfoPage.cpp
-
-Charlie 22 Jun 2011
- - MGR: Rename CC_STATE::have_cuda to CC_STATE::have_nvidia to clarify its meaning,
- add comment that it is referenced in GUI RPCs as for compatibility.
- Wizard ProjectInfo page tests values appropriate for connected client version.
- - lib: fill in missing entries in COPROCS GUI RPCs, ensure that old data is reset
- when connecting to a different host (not yet complete.)
-
- clientgui/
- AdvancedFrame.cpp
- AsyncRPC.cpp
- BOINCTaskBar.cpp
- DlgItemProperties.cpp
- ProjectInfoPage.cpp
- lib/
- coproc.cpp, .h
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
-
-Charlie 23 Jun 2011
- - MGR: It turns out we want the Wizard ProjectInfo Page to check for ATI and NVIDIA
- GPUs regardless of whether they were reported by CAL, CUDA or OpenCL, so we can
- just check CC_STATE::have_ati and CC_STATE::have_nvidia even for newer clients.
- This means the Manager doesn't need to do get_host_info RPCs, because all the
- host info it needs is available from the host_info section of the get_state RPC,
- so eliminate the unnecessary Manager calls of get_host_info RPC.
-
- clientgui/
- DlgAdvPreferences.cpp
- MainDocument.cpp, .h
- ProjectInfoPage.cpp
-
-David 23 Jun 2011
- - lib: fix compile warning
-
- lib/
- coproc.h
-
-David 23 Jun 2011
- - client: add per-project GPU exclusion.
- If you put an element of the form
-
- http://project_url.com/
- 1
-
- in your cc_config.xml, that GPU won't be used for that project
-
- lib/
- cc_config.cpp,h
- client/
- client_types.cpp,h
- client_state.cpp
- cpu_sched.cpp
-
-David 23 Jun 2011
- - client: replace with
- in cc_config.xml (but keep old one for compat)
-
- lib/
- coproc.h
- cc_config.cpp,h
- client/
- client_state.cpp
- coproc_detect.cpp
- log_flags.cpp
-
-Charlie 24 Jun 2011
- - SCR: Add url.cpp to Mac screensaver in XCode project to fix link error.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 24 Jun 2011
- - client: add element to config option,
- in case of multiple GPU types
-
- lib/
- cc_config.cpp,h
- client/
- client_types.cpp,h
- client_state.cpp
- cpu_sched.cpp
-
-David 25 Jun 2011
- - client: add optional elements to config option,
- to allow app-level exclusions
-
- lib/
- cc_config.cpp,h
- client/
- cpu_sched.cpp
-
-David 25 Jun 2011
- - client simulator: compile fix
-
- client/
- makefile_sim
- sim_util.cpp
-
-David 25 Jun 2011
- - fix compile warnings
-
- api/
- boinc_api.cpp
- client/
- app_start.cpp
-
-David 29 Jun 2011
- - back end: strip tags from output templates
- - web: main RSS feed should include all news items, even non-notices
-
- tools/
- process_result_template.cpp
- html/inc/
- forum_rss.inc
- lib/
- str_util.cpp
- samples/wrappture/
- wrappture.cpp
-
-David 29 Jun 2011
- - server: restore fpops/intops_cumulative to RESULT
- (structure, not table) for AQUA
- - client, Windows: when wake up from hibernation,
- get the time before printing log msg
-
- db/
- boinc_db.h
- client/
- client_state.h
- sysmon_win.cpp
-
-David 30 Jun 2011
- - client (Win) add some bulletproofing in case Windows sends us a
- "suspending" event but not a resume event.
-
- client/
- client_state.cpp,h
- sysmon_win.cpp
-
-David 30 Jun 2011
- - db_purge: make zip compression work (from Teemu Mannermaa)
- - get rid of a few compile warnings
-
- sched/
- sched_send.cpp
- db_purge.cpp
- sched_types.cpp
- sched_score.cpp
- sample_work_generator.cpp
-
-David 4 July 2011
- - back end: fix bugs in [23648] which caused create_work
- to mess up input templates containing
- or other attribute tags.
- XML_PARSER now contains a member element() for when
- you want to copy an element without knowing its structure.
-
- tools/
- backend_lib.cpp
- lib/
- parse.cpp,h
- html/user/
- openid_login.php
-
-David 5 July 2011
- - update_versions: fix typo that produced bad XML
-
- tools/
- update_versions
-
-Charlie 6 July 2011
- - Mac: Update to libcurl 7.21.7 and c-ares 1.7.4.
-
- client/
- http_curl.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- buildc-ares.sh
- buildcurl.sh
- setupForBOINC.sh
- HowToBuildBOINC_XCode.rtf
-
-Rom 6 July 2011
- - Tag for 6.13.0 release, all platforms
- boinc_core_release_6_13_0
-
- /
- configure.ac
- version.h
-
-Charlie 6 July 2011
- - Mac: Fix bad paths to MacBitMapComboBox.cpp, .h in XCode project.
- (Checked into 6.13.0 tag).
-
- clientgui/
- mac/
- MacBitmapComboBox.cpp, .h
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-Charlie 7 July 2011
- - Mac: Fix bug where menubar icon menu did not work after changing skin.
-
- clientgui/
- mac/
- MacSysMenu.cpp
-
-Rom 7 July 2011
- - WINSCR: Remove diagnostics screensaver dialog when the screensaver fails to
- be able open up the log files.
-
- clientscr/
- screensaver_win.cpp
-
-David 7 July 2011
- - client: write log msgs saying whether GPUs are OpenCL-capable
-
- client/
- client_state.cpp
-
-David 7 July 2011
- - client: fix bug introduced in [23765] that produced garbage
- in elements in sched req msgs and elsewhere.
- peak_flops is a double.
- If you print it using %d, everything from that point forward
- is messed up.
-
- lib/
- coproc.cpp
-
-David 7 July 2011
- - client: fix typo that caused a lot of spurious
- "project has XXXXXX deadline misses" messages
- - fix compile warnings
-
- client/
- sandbox.cpp
- rr_sim.cpp
-
-David 7 July 2011
- - client: possibly fix bug that caused no-GPU prefs to be ignored
-
- client/
- client_types.cpp
-
-Charlie 8 July 2011
- - Mac: Refine bug fix for menubar icon menu not working after changing skin.
-
- clientgui/
- BOINCTaskBar.cpp
- mac/
- MacSysMenu.cpp, .h
-
-David 8 July 2011
- - client: fix bug related to deselecting resource types in project prefs.
- Some logic was missing.
-
- client/
- client_types.cpp,h
- cs_account.cpp
- work_fetch.cpp
-
-David 10 July 2011
- - client emulator web interface: make cc_config.xml an attribute
- of the simulation, not the scenario.
- If you want to run a simulation w/ different log flags,
- you shouldn't have to create a new scenario.
- - client emulator: add --config_prefix cmdline arg
- - validator: prevent infinite loop when app_version.pfc_avg
- is wonky (like 1e-300).
- Next step: figure out how it got that way.
-
- client/
- sim.cpp
- sched/
- credit.cpp
-
-David 10 July 2011
- - client: clear have_nvidia/ati flags in CC_STATE
- so you don't show garbage in project properties
-
- lib/
- gui_rpc_client_ops.cpp
-
-David 10 July 2011
- - Manager and GUI RPC:
- Remove debt fields from PROJECT: not used anymore
- Add sched_priority field
-
- lib/
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
- client/
- client_state.cpp
- client_types.cpp
- clientgui/
- DlgItemProperties.cpp
-
-David 10 July 2011
- - client: fix scheduler bug that treated all CPU jobs
- as non-high-priority
- - client: don't print spurious "domino prevention"
- and "thrashing prevention" msgs
- - manager: show project descriptions in same size font
- as the rest of the dialog
-
- client/
- cpu_sched.cpp
- work_fetch.h
- clientgui/
- ProjectInfoPage.cpp
-
-David 11 July 2011
- - manager: do the above font change only on Win
-
- clientgui/
- ProjectInfoPage.cpp
-
-David 11 July 2011
- - manager: fix messed up logic that caused projects to show
- "platform not support" incorrectly.
- Note: the code in this entire area seems way too complex
- - manager: tweak project desc font size
-
- clientgui/
- ProjectInfoPage.cpp
-
-David 11 July 2011
- - admin web: add page for showing app and app version details
-
- html/
- ops/
- submit_permissions.php
- app_reset.php (new)
- manage_apps.php
- login_form.php
- logout.php
- app_details.php (new)
- inc/
- util_ops.inc
-
-David 12 July 2011
- - admin web: finish page for resetting app statistics
-
- html/
- ops/
- app_reset.php
- app_details.php
- inc/
- boinc_db.inc
-
-David 12 July 2011
- - validator: if job FLOPs estimates are accurate,
- PFC values should be around 1.
- If they differ from 1 by a factor of > 1e4, ignore them,
- and put an error message into the validator log
- - validator: if get_pfc() fails because an app version is
- missing from the DB (i.e. the project deleted it)
- keep going so we don't reprocess the WU forever
-
- sched/
- credit.cpp
-
-David 13 July 2011
- - client, work fetch policy:
- adjust project REC by the amount of work queued, to increase variety
- NOTE: at some point I think I had a reason to not do this,
- but I can't remember what it is.
- - client, job scheduling policy: fix how project REC is adjusted
-
- client/
- work_fetch.cpp,h
- cpu_sched.cpp
- lib/
- common_defs.h
- sched/
- credit.cpp,h
- trickle_credit.cpp
-
-David 13 July 2011
- - manager: don't show "Estimated computation speed" in task properties
- The quantity involved is not actually computation speed.
- Also don't show Max RAM usage.
-
- clientgui/
- DltItemProperties.cpp
-
-David 13 July 2011
- - admin web: improve the FLOPs estimation tool so that
- it works for GPU versions too
-
- html/
- ops/
- job_times.php
- app_details.php
- inc/
- util_ops.php
-
-David 13 July 2011
- - client: precede OpenCL messages with [coprog_debug], not [coproc-test].
- The convention is to use the name of the enabling log flag.
-
- client/
- coproc_detect.cpp
-
-
-Rom 14 July 2011
- - lib: Fix the various '????' fields in the diagnostics framework during a
- crash on Windows. Somewhere along the lines I messed up with the
- conversions of single-byte characters vs. double-byte characters.
-
- lib/
- stackwalker_win.cpp
-
-David 14 July 2011
- - client: add config option
-
- lib/
- cc_config.cpp,h
- cpu_sched.cpp
-
-David 14 July 2011
- - client: if a project has zero resource share,
- don't piggyback a work request onto a non-work-request RPC
-
- client/
- work_fetch.cpp
-
-David 14 July 2011
- - client: show the right prefix for messages
-
- client/
- cpu_sched.cpp
-
-Charlie 18 July 11
- - MGR: Fix "Can't load Image" messages in Simple View; allow gaps in slide
- show file numbering; reload images if new project files downloaded.
-
- clientgui/
- sg_ProjectPanel.cpp, .h
- sg_TaskPanel.cpp, .h
-
-Rom 18 July 2011
- - Tag for 6.13.1 release, all platforms
- boinc_core_release_6_13_1
-
- /
- configure.ac
- version.h
-
-David 18 July 2011
- - web: when listing a user's message-board posts,
- don't show team message-board posts unless
- a) the requesting user is a member of the team, and
- b) if the post is hidden, the requesting user is a team admin
- This enforces the goal that a team's message board
- is visible only to the team.
-
- html/user/
- forum_user_posts.php
-
-David 19 July 2011
- - validator: remove spurious messages
-
- sched/
- credit.cpp
-
-David 19 July 2011
- - server: some stuff to prepare for distributed storage
- - don't create result records for uploads and downloads.
- Just create a msg_to_client record.
- - the scheduler handles file-transfer results specially;
- it makes a vector of them, then calls a project-supplied function
- handle_file_xfer_results()
- - change the interface and implementation of put_file and get_file
- - client write project sched priority in GUI RPC replies,
- but not to the state file
-
- sched/
- delete_file.cpp
- put_file.cpp
- get_file.cpp
- sched_types.cpp,h
- sched_customize.cpp,h
- handle_request.cpp
- credit_test.cpp
- tools/
- backend_lib.cpp,h
- py/Boinc/
- setup_project.py
- client/
- client_state.cpp
- boinc_cmd.cpp
- client_types.cpp
-
-David 20 July 2011
- - client: changes to the client file model to support distributed storage,
- as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
- Compatibility:
- clients that upgrade to this version should see nothing unusual.
- Clients that downgrade from this version to a previous version
- should see all projects reset
- (i.e. tasks disappear and then get re-downloaded).
- - manager: always show whether a file transfer is upload or download
- - client: don't scale work requests by resource share
-
- client/
- client_types.cpp,h
- cs_apps.cpp
- cs_files.cpp
- cs_prefs.cpp
- cs_statefile.cpp
- file_xfer.cpp
- pers_file_xfer.cpp
- work_fetch.cpp
- clientgui/
- ViewTransfers.cpp
- lib/
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
-
-David 20 July 2011
- - client/server: change the implementation of upload certificates
- as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
- Compatibility: if your project is using upload certificates:
- - set ignore_upload_certificates
- - disable job creation
- - let your job queue drain
- - upgrade to new server software
- - clear ignore_upload_certificates
- - enable job creation
-
- sched/
- file_upload_handler.cpp
- tools/
- process_result_template.cpp
- lib/
- gui_rpc_client_print.cpp
- client/
- client_types.cpp,h
- file_xfer.cpp
-
-David 20 July 2011
- - server: debug the above
-
- sched/
- file_upload_handler.cpp
-
-David 20 July 2011
- - client: debug the above
-
- client/
- file_xfer.cpp
-
-David 20 July 2011
- - server: debug distributed storage functions
- - generate upload signatures if needed
- - assign deadlines to file xfer jobs (default 1 week)
- - scheduler: ack completed file xfer results
-
- sched/
- put_file.cpp
- get_file.cpp
- sched_customize.cpp
- tools/
- backend_lib.cpp,h
-
-David 20 July 2011
- - client: debug distributed storage functions
-
- client/
- client_types.cpp,h
- cs_statefile.cpp
- scheduler_op.cpp
-
-David 22 July 2011
- - server: some remote job submission code. Not finished.
-
- tools/
- create_work.cpp
- html/
- inc/
- submit.inc
- user/
- submit.php
- submit_example.php
-
-Charlie 25 July 11
- - Mac: Begin changes for XCode 4.1 and GCC 4.2.
-
- client/
- hostinfo_unix.cpp
- clientgui/
- browser.h
- sqlite3.c
- mac/
- MacBitmapComboBox.h
- lib/
- hostinfo.h
-
-David 25 July 2011
- - web: more remote job submission code. Not finished.
-
- db/
- boinc_db.h
- html/
- inc/
- submit.inc
- boinc_db.inc
- result.inc
- user/
- submit_example.php
- get_output.php
- submit.php
-
-David 25 July 2011
- - user web: internationalization, from Christian Beer
-
- html/user/
- show_host_detail.php
- sample_index.php
- show_coproc.php
- show_user.php
- profile_search_action.php
- team.php
-
-David 25 July 2011
- - user web: remote job submission:
- add the ability to download zipped output files
-
- html/user/
- submit_example.php
- get_output.php
-
-Charlie 26 July 11
-- Mac: Finish changes for XCode 4.1 and GCC 4.2.
-
- clientgui/
- sqlite3.c
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- mac_installer/
- PostInstall.cpp
- release_boinc.sh
-
-David 26 July 2011
- - web: remote job submission: implement abort and cleanup functions
-
- html/
- inc/
- forum.inc
- submit.inc
- util.inc
- result.inc
- user/
- forum_thread.php
- submit_example.php
- submit.php
-
-David 26 July 2011
- - web: remote job submission:
- - add fields to batch table, extend APIs accordingly
- - require that example web interface run on BOINC server
- (this makes many things easier;
- an actual remote interface would require a bit more work)
-
- db/
- boinc_db.h
- schema.sql
- html/
- ops/
- db_update.php
- inc/
- submit_db.inc
- submit.inc
- util.inc
- result.inc
- user/
- submit_example.php
- submit.php
-
-Charlie 27 July 11
- - lib: Initialize config_coprocs struct in CONFIG::defaults().
-
- lib/
- cc_config.cpp
-
-Charlie 27 July 11
- - SCR: Fix delay dismissing screensaver under Mac OS10.7.
-
- clientscr/
- mac_saver_module.cpp
- Mac_Saver_Module.h
- Mac_Saver_ModuleView.m, .h
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-Charlie 28 July 11
- - Mac SCR: Fix vertical range of moving logo.
-
- clientscr/
- Mac_Saver_ModuleView.m
-
-David 28 July 2011
- - remote job submission: bug fix and tweaks
- - client: cc_config.xml: if is omitted from a ,
- it means exclude all instances of that GPU type
- - client: if all instances of a GPU type are excluded for a project,
- don't ask the project for jobs of that type
-
- html/
- ops/
- submit_permissions.php
- inc/
- util.h
- user/
- submit_example.php
- lib/
- cc_config.cpp,h
- client/
- work_fetch.cpp,h
- client_types.cpp,h
- client_state.cpp
- gui_rpc_server_ops.cpp
- cpu_sched.cpp
-
-David 29 July 2011
- - client: fix bug in config option
- - client: extend option so that if is omitted,
- all GPUs of the given type are excluded.
-
- client/
- cpu_sched.cpp
- work_fetch.cpp
- lib/
- cc_config.cpp,h
-
-David 30 July 2011
- - server: fix typo
-
- db/
- boinc_db.h
-
-David 30 July 2011
- - user web: in instructions for logging in with authenticator,
- show the actual account file name.
-
- html/user/
- get_passwd.php
-
-David 30 July 2011
- - web: fix typo that prevented users from seeing their own hidden posts
-
- html/
- inc/
- prefs.inc
- user/
- forum_user_posts.php
-
-David 31 July 2011
- - web: fix +/- forum rating, and tweak messages. Fixes #1123
-
- html/user/
- forum_report_post.php
- forum_rate.php
-
-David 31 July 2011
- - scheduler: check for negative elapsed time in results
- reported by client, set to zero
-
- sched/
- sched_result.cpp
- sched_types.cpp
- html/user/
- create_account_form.cpp
-
-David 1 Aug 2011
- - web: fix bug in next_url mechanism
-
- html/inc/
- util.inc
-
-David 1 Aug 2011
- - client: change the way upload signatures are generated
- in an attempt to make them work with existing servers
-
- client/
- file_xfer.cpp
-
-David 1 Aug 2011
- - client: undo the above. doesn't work
-
- client/
- file_xfer.cpp
-
-David 1 Aug 2011
- - update_versions: add optional element to
- element in version.xml.
- If present, update_versions will gzip the file in the download dir.
- Use this only if you have gzip-encoding enabled in Apache.
-
- tools/
- update_versions
-
-Charlie 2 Aug 11
- - Mac installer: Work around bug in Mac OS 10.7 dscl merge command.
-
- mac_installer/
- PostInstall.cpp
-
-David 2 Aug 2011
- - update_versions: bug fixes
-
- tools/
- update_versions
-
-David 3 Aug 2011
- - client: fix bug in get_descendants(),
- which prevented the client from cleaning up
- subprocesses of misbehaving multiprocess apps.
- - remote job submission system:
- assign physical names to input files (based on their MD5)
- rather than having the user provide physical names
- - VM apps: eliminate vbox64 plan class. Only vbox.
-
- sched/
- sched_customize.cpp
- html/
- ops/
- manage_app_versions.php
- inc/
- submit.inc
- user/
- submit_example.php
- submit.php
- lib/
- procinfo.cpp
- client/
- app_start.cpp
- app_control.cpp
-
-David 3 Aug 2011
- - client: add optional to APP_VERSION>.
- If present, "file_prefix/" is prepended to the logical names
- of input and output files of jobs using that app version.
- I.e. for Vbox wrapper based app versions, file_prefix is "share",
- so that I/O files are put in a "share" subdirectory of the slot dir.
- - update_versions: add support for
-
- x
- in version.xml
-
- tools/
- update_versions
- client/
- client_types.cpp,h
- app.h
- app_start.cpp
-
-David 3 Aug 2011
- - client: if an app version has nonempty file_prefix,
- copy all its input and output files
-
- client/
- app.h
- app_start.cpp
-
-Charlie 3 Aug 11
- - Mac: Fix warning about potential memory leak.
-
- clientgui/
- mac/
- SystemMenu.m
-
-David 3 Aug 2011
- - vbox wrapper: fix parsing of job file
- - vbox wrapper: fix code structure
- - merge vm and vbox
- - no global vars
-
- samples/vboxwrapper/
- vbox.cpp,h
- vm.cpp.h (removed)
- vboxwrapper.cpp
- Makefile
-
-David 3 Aug 2011
- - vbox wrapper: hardwire logical name of image file to "vm_image.vdi".
- - vbox wrapper: on startup, rename image file to "vm_image_SLOT.vdi",
- where SLOT is the slot number.
- Vbox requires unique names for VM image files.
-
- samples/vboxwrapper/
- vbox.cpp,h
- vboxwrapper.cpp
-
-David 4 Aug 2011
- - scheduler: apparently some hosts send GPU parameters that cause
- the peak_flops to be negative (probably #processors = -1).
- This leads to negative credit.
- Fix: if peak flops is negative, set it to 50 GFLOPS
- - web: fix email validate page
-
- lib/
- coproc.h
- html/user/
- validate_email_addr.php
-
-Rom 4 Aug 2011
- - vbox wrapper: initialize xml parser with the correct starting tag.
-
- samples/vboxwrapper/
- vboxwrapper.cpp
-
-David 4 Aug 2011
- - scheduler: turns out we need separate vbox32 and vbox64
- plan classes after all.
- Otherwise (since app_plan() is not passed an app version)
- there's no way to enforce that 64 bit hosts are sent
- only the 64 bit version (which is necessary because
- of the split-registry scheme).
-
- sched/
- sched_customize.cpp
-
-David 6 Aug 2011
- - web: send user a private message when
- - one of their posts is moderated
- - a banishment vote starts or completes.
- This is needed in cases where the user can't or doesn't
- read email to their account's address.
- The "from" address of the PM is that of the user, not the moderator.
-
- html/
- inc/
- pm.inc
- forum_email.inc
- user/
- pm.php
- team_founder_transfer_action.php
-
-David 6 Aug 2011
- - update_versions: fix bug where files not listed in version.xml
- are not processed correctly
- - remote job submission: debug
- - create_work: --rsc_fpops_est etc. should override the template file
-
- tools/
- backend_lib.cpp
- update_versions.cpp
- html/user/
- submit_example.php
- submit.php
-
-David 7 Aug 2011
- - remote job submission: bug fixes
-
- html/
- inc/
- submit.inc
- util.inc
- result.inc
- user/
- submit_example.php
- submit.php
-
-David 7 Aug 2011
- - client: projects with zero resource share are always lower priority,
- for both job sched and work fetch,
- than projects with positive resource share.
-
- client/
- cpu_sched.cpp
- work_fetch.cpp
-
-David 7 Aug 2011
- - scheduler: fix nasty bug where SCHED_DB_RESULT::parse()
- was doing memset(this, 0, sizeof(RESULT)),
- i.e. it wasn't zeroing out the whole structure.
- The elapsed_time field (which isn't reported by old clients),
- is near the end of the struct,
- and it was getting garbage, e.g. 1e-304, in some cases,
- which led to zero credit (and maybe other problems)
- - validator: treat 1e-304 like zero in case of other problems
- like the above.
- - remote job submission: tweaks
-
- sched/
- credit.cpp
- sched_types.cpp
- html/user/
- submit_example.php
- submit.php
-
-David 7 Aug 2011
- - web: when sending emails to other users, don't translate anything
- (since they don't necessarily speak our language)
-
- html/
- ops/
- index.php
- inc/
- pm.inc
- submit.inc
-
-David 7 Aug 2011
- - client: make round-robin simulator match what the job scheduler now does:
- give lowest priority to projects with zero resource share.
-
- client/
- rr_sim.cpp
- client_types.h
-
-Charlie 8 Aug 2011
- - Changes for Charity Engine Desktop.
-
- clientgui/
- mac/
- CE_ss_logo.tiff (new)
- res/
- CE_Install.icns (new)
- CharityEngine.icns (new)
- CE_Uninstall.icns (new)
- MacCEPkgIcon.zip (new)
- skins/
- Charity Engine/ (new)
- graphics/ (new)
- (many new files)
- skin.xml (new)
- clientscr/
- mac_saver_module.cpp
- res/
- CE_ss_logo.png (new)
- CE_ss_logo.jpg (new)
- ss_app.cpp
- mac_installer/
- CE-Branding (new)
- CE-ReadMe.rtf (new)
- CharityEngine/ (new)
- acct_mgr_url.xml (new)
- GR-ReadMe.rtf
- make_CharityEngine.sh (new)
- PostInstall.cpp
- PTP-ReadMe.rtf
- ReadMe.rtf
-
-Charlie 8 Aug 2011
- - Mac Client: Call NSVersionOfRunTimeLibrary("cuda") to set
- cc.display_driver_version (from Oliver Bock.)
-
- client/
- coproc_detect.cpp
-
-David 9 Aug 2011
- - client: rename MODE to RUN_MODE, and rename vars accordingly
-
- client/various
-
-David 9 Aug 2011
- - client: pass XML_PARSER& rather than MIOFILE& to parse functions.
- Preparatory to using new-style XML parsing everywhere.
-
- client/various
- lib/various
-
-Rom 10 Aug 2011
- - Changes for Charity Engine Desktop.
-
- client/win/res/
- ce.ico
- clientctrl/
- boincsvcctrl.rc
- clientgui/
- BOINCGUIApp.rc
- clientgui/res/
- ce.ico
- clientlib/win/
- boinc_dll.rc
- clientscr/
- boinc_ss.rc
- clientscr/
- boinc_ss_opengl.rc
- clientscr/res/
- ce.bmp
- ce.ico
- clienttray/
- boinc_tray.rc
- win_build/
- ce_boinc_cli.vcproj
- ce_boinc_dll.vcproj
- ce_boinc_ss.vcproj
- ce_boinccmd.vcproj
- ce_boincmgr.vcproj
- ce_boincsvcctrl.vcproj
- ce_boinctray.vcproj
- ce_ss_app.vcproj
- CharityEngine.sln
- win_build/installerv2/
- CharityEngine.ism
- win_build/installerv2/redist/0409/
- ce-eula.rtf
- win_build/installerv2/redist/CharityEngine/
- acct_mgr_url.xml
- ce.ico
- CE_IsDialogBanner.bmp
- CE_IsDialogBitmap.bmp
- CE_Splash.bmp
-
-David 10 Aug 2011
- - Improve interface of XML_PARSER.
- Add parsed_tag and is_tag to the class,
- so that parsing functions don't need to declare them
- and pass them around.
- - Complete the task of using XML_PARSER as the argument
- to all parsing functions.
- (Internally, many of these functions still use the old XML parser;
- that's the next step.)
-
- db/
- boinc_db.cpp,h
- sched/
- various
- tools/
- backend_lib.cpp
- lib/
- various
- client/
- various
-
-David 10 Aug 2011
- - fix compile warnings; msg tweak
-
- client/
- cpu_sched.cpp
- lib/
- parse.cpp
-
-David 10 Aug 2011
- - client: use new XML parser pretty much everywhere
-
- lib/
- cert_sig.cpp,h
- parse.h
- client/
- pers_file_xfer.cpp
- cs_account.cpp
- client_types.cpp
- cs_statefile.cpp
- scheduler_op.cpp
- time_stats.cpp
- app.cpp
- current_version.cpp
-
-Charlie 11 Aug 2011
- - Mac installer: Bug fixes for OS 10.7 Lion: LoginItemAPI.c did not
- set hidden property for login items, so use AppleScript instead,
- to prevent Lion from opening BOINC windows at system startup.
- - Fix a bug I introduced on 8 August which prevented launching
- WaitPermissions.app.
- - Mac uninstaller: Remove Charity Engine BOINC app if present.
-
- mac_installer/
- AddRemoveUser.cpp
- PostInstall.cpp
- Uninstall.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 11 Aug 2011
- - client: more XML parsing stuff
-
- client/
- app.cpp
- net_stats.cpp
-
-David 11 Aug 2011
- - scheduler: update XML parsing
-
- sched/
- sched_main.cpp
- sched_types.cpp
-
-David 11 Aug 2011
- - client: XML tweak
-
- client/
- client_types.cpp
-
-Charlie 12 Aug 2011
- - Mac installer: Bug fixes for OS 10.7 Lion.
-
- mac_build/
- Mac_SA_Secure.sh
- mac_installer/
- AddRemoveUser.cpp
- PostInstall.cpp
-
-Rom 18 Aug 2011
- - WINSCR: Based on feedback from WCG about the screensaver lock-up
- problem attempt to provoke Windows into redrawing the primary
- display. It turns out that the screensaver image is a ghost
- image, so create a blank top-most window and close it after
- the graphics application has been terminated.
-
- clientscr/
- screensaver_win.cpp, .h
-
-David 21 Aug 2011
- - Vbox wrapper: add --trickle x option; sends a trickle-up message
- reporting incremental runtime exery x seconds of runtime.
- - client: more XML parsing cleanup
- - credit trickle handler: do sanity checks on CPU speed
-
- sched/
- trickle_credit.cpp
- credit.cpp,h
- samples/vboxwrapper/
- vboxwrapper.cpp
- client/
- acct_setup.cpp,h
- gui_rpc_server_ops.cpp
-
-David 21 Aug 2011
- - credit trickle handler: write log messages if sanity checks fail
-
- sched/
- trickle_credit.cpp
-
-David 21 Aug 2011
- - add script to purge trickle message records from DB
- - fix spelling errors in db_purge
-
- html/ops/
- purge_trickles.php (new)
- sched/
- db_purge.cpp
-
-Charlie 22 Aug 2011
- - client: Fix compiler warnings.
-
- client/
- app.cpp
- coproc_detect.cpp
-
-Charlie 22 Aug 2011
- - client: Correlate OpenCL results with CAL or CUDA results based
- on index of devices reported by each. This assumes that CUDA
- and OpenCL and report NVIDIA devices in the same order, and
- that CAL and OpenCL report ATI/AMD devices in the same order.
-
- client/
- coproc_detect.cpp
- lib/
- coproc.h
-
-David 22 Aug 2011
- - client emulator fixes
-
- sched/
- edf_sim.h
- client/
- sim.cpp
- sim_util.cpp
- cs_statefile.cpp
-
-Charlie 23 Aug 2011
- - client: If OpenCL is supported, add OpenCL information to
- COPROC_ATI::write_xml() and COPROC_NVIDIA::write_xml(), and
- parse OpenCL information in COPROC_ATI::parse() and
- COPROC_NVIDIA::parse().
- - client: Add OpenCL platform version number to COPROC struct.
-
- client/
- coproc_detect.cpp
- lib/
- cl_boinc.h
- coproc.cpp, .h
- parse.h
-
-David 23 Aug 2011
- - example app: change the app version structure to match the new format
-
- samples/example_app/
- various
-
-David 23 Aug 2011
- - fix linux build errors in coproc stuff.
- I don't think unsigned long long is relevant here.
-
- lib/
- parse.h
- coproc.cpp
- client/
- coproc_detect.cpp
-
-David 23 Aug 2011
- - example app: get it right this time
-
- samples/example_app/
- various
-
-Charlie 24 Aug 2011
- - lib: fix compile errors on Mac, Ubuntu and Windows.
-
- lib/
- parse.h
-
-Charlie 24 Aug 2011
- - client: fix compile warnings on Mac and Ubuntu.
-
- client/
- coproc_detect.cpp
-
-Charlie 24 Aug 2011
- - lib, client: revert recent changes to restore unsigned long long so
- we can determine cause of and try to fix Linux build errors.
- - lib: On Windows, call _strtoui64() instead of strtoull.
-
- lib/
- coproc.cpp
- parse.h
- client/
- coproc_detect.cpp
-
-David 24 Aug 2011
- - job submission: fix bug where parameters specified in the
- input template (e.g., delay bound) were ignored
- - web: fix PHP warning
-
- tools/
- backend_lib.cpp
- html/
- inc/
- forum.inc
- user/
- forum_forum.php
-
-David 24 Aug 2011
- - client: pass --gpu_type X (X=nvidia or ati) as well as --device.
- This lets device-neutral OpenCL apps figure out which GPU to use.
-
- client/
- app_start.cpp
-
-Charlie 25 Aug 2011
- - client: fix Linux compile errors and warnings.
-
- client/
- coproc_detect.cpp
- lib/
- coproc.cpp
- parse.h
-
-David 25 Aug 2011
- - client: fix bug where NVIDIA display driver version wasn't being
- set correctly for some laptop GPUs
- - client/server: improve estimation of NVIDIA GPU peak FLOPS
-
- lib/
- coproc.h
- client/
- coproc_detect.cpp
-
-David 25 Aug 2011
- - validator: update credit statistics even if credit_from_wu
- is being used.
- - web: make almost everything translatable. From Christian Beer.
-
- sched/
- validator.cpp
- html/user/
- various
-
-Charlie 26 Aug 2011
- - lib: use standard implementation of strtoull when available.
-
- configure.ac
- clientgui/
- mac/
- config.h
- lib/
- parse.h
-
-David 26 Aug 2011
- - web: more fixes from Christian Beer. Fixes #1129
-
- html/
- ops/
- inc/
-
-Rom 26 Aug 2011
- - VboxWrapper: Add functions for enable/disable network and throttling
- the CPU and network activity.
-
- samples/vboxwrapper/
- vbox.cpp, .h
-
-David 26 Aug 2011
- - scheduler: don't send user a message when there is no
- app version for their platform for a particular app.
- The may be versions for other apps which don't have jobs right now.
- TODO: send a message if there are no versions of ANY app
- for any platform.
- - fix makefile indentation, caused manager to not be built
- fixes #1132
-
- sched/
- sched_version.cpp
- sched_send.cpp
- Makefile.am
-
-David 26 Aug 2011
- - VirtualBox wrapper:
- - change names of CPU and network-limiting functions
- to express their units (always do this).
- - wrapper monitors status.suspend_network
- and suspends/resumes network accordingly
- - wrapper sets CPU and network bandwidth limits on startup
- (Rom: should this be done before run() rather than after?)
- Note: App versions using this wrapper should always have
- in their version.xml,
- to tell the client that the app throttles itself.
-
- samples/vboxwrapper/
- vbox.cpp,h
- vboxwrapper.cpp
-
-David 26 Aug 2011
- - fix build error in Linux screensaver (at least on FC14)
-
- clientscr/
- screensaver_x11.cpp
-
-David 26 Aug 2011
- - web: comment out OpenID login - not working yet
-
- html/user/
- login_form.php
-
-David 26 Aug 2011
- - job creation: handling of extra XML in input templates didn't work.
- - job creation: fix stripping of tags
- - client: fix off-by-1 error in buffer overflow logic for scanning keys.
-
- tools/
- backend_lib.cpp
- process_result_template.cpp
- lib/
- crypt.cpp
- parse.cpp,h
-
-David 26 Aug 2011
- - manager: Communitcations -> Communications.
- please, no spelling errors in function/variable names
- - client: parse deprecated tags in
-
- clientgui/
- ProjectProcessingPage.cpp,h
- AccountManagerProcessingPage.cpp,h
- client/
- client_types.cpp
-
-David 26 Aug 2011
- - client: fix bug that caused project attach to fail
- - clientgui: Rom, we should do error-checking of most GUI RPCs;
- look for REPORT ERROR in ProjectProcessingPage.cpp
-
- client/
- acct_setup.cpp
- coproc_detect.cpp
- clientgui/
- ProjectProcessingPage.cpp
-
-David 26 Aug 2011
- - web: fix glitch in forum next/prev links
-
- html/inc/
- host.inc
- forum.inc
-
-David 26 Aug 2011
- - web: more tra() stuff
-
- html/user/
- forum_thread.php
-
-David 27 Aug 2011
- - web: add a magic header string that supposedly will make
- Recaptcha work on some IE variants. WTF??
-
- html/
- inc/
- util.inc
- user/
- create_account_form.php
- create_profile.php
-
-David 28 Aug 2011
- - web: fix to the above
- - web: fix forum search
-
- html/
- inc/
- util.inc
- user/
- forum_search.php
- forum_search_action.php
-
-David 28 Aug 2011
- - web: fix some stuff broken by my checkin [24039].
- - web: use & instead of & in URLs (not complete)
-
- html/
- inc/
- forum.inc
- util.inc
- user/
- forum_thread.php
- forum_forum.php
- edit_forum_preferences_action.php
-
-David 29 Aug 2011
- - web: fix typo in profile credit/edit
-
- html/user/
- create_profile.php
-
-David 29 Aug 2011
- - web: fix bug in "report post" function
-
- html/user/
- delete_profile.php
- forum_report_post.php
-
-David 29 Aug 2011
- - Vbox wrapper: deal with checkpointing.
- Current: wrapper reports frequent checkpointing to client,
- but actually checkpoints only when the VM is stopped
- Problem: large amounts of work would be wasted if
- BOINC stops in an ungraceful way (e.g., power failure)
- Solution:
- Don't report frequent checkpointing.
- Every CPU scheduling period (typically once/hour)
- stop the VM (creating a checkpoint)
- and call boinc_temporary_exit(0).
- If the client wants to keep running this job,
- it will start us immediately.
-
- samples/vboxwrapper/
- vboxwrapper.cpp
-
-David 29 Aug 2011
- - web: add page showing top GPU models
-
- html/user/
- gpu_list.php
-
-Charlie 30 Aug 2011
- - Mac: Copy BOINC libraries built with XCode 4.1 to locations
- where built by earlier versions of XCode so dependent
- builds can always find them.
- - Vbox wrapper: create XCode project.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- samples/vboxwrapper/
- vboxwrapper.xcodeproj
- project.pbxproj
-
-David 30 Aug 2011
- - client: fix a couple of valgrind warnings
-
- client/
- cs_notice.cpp
- hostinfo_unix.cpp
-
-David 30 Aug 2011
- - client: send all running jobs a "reread app info" message
- when global prefs change (in the case of vboxwrapper,
- it might have to change network or CPU throttling)
-
- sched/
- sched_version.cpp
- sched_send.cpp
- client/
- cs_prefs.cpp
-
-David 30 Aug 2011
- - web: sort GPUs by average elapsed time
-
- html/user/
- gpu_list.php
-
-David 30 Aug 2011
- - vbox wrapper: check for boinc_status.reread_init_data_file,
- and if set reread the file, set throttles, and clear flag
-
- samples/vboxwrapper/
- vboxwrapper.cpp
-
-David 30 Aug 2011
- - validator: in "credit_from_wu" case, record what the new credit
- system would have assigned in result.claimed_credit.
-
- sched/
- validator.cpp
-
-Charlie 31 Aug 2011
- - define GPU_TYPE_NVIDIA, GPU_TYPE_ATI, use everywhere instead of
- literal strings "NVIDIA" and "ATI" to ensure uniformity.
-
- client/
- acct_mgr.cpp
- client_state.cpp
- client_types.cpp
- coproc_detect.cpp
- cpu_sched.cpp
- cs_account.cpp
- cs_scheduler.cpp
- log_flags.cpp
- scheduler_op.cpp
- lib/
- coproc.cpp, .h
- gui_rpc_client_ops.cpp
-
-Charlie 31 Aug 2011
- - lib: Add OPENCL_REFERENCE boinc_get_opencl_ids(int argc, char** argv)
- to be called by OpenCL project applications to get the platform ID
- and device ID of the GPU assigned to the task by the scheduler.
-
- lib/
- coproc.cpp, .h
-
-David 31 Aug 2011
- - API: move boinc_get_opencl_ids() from lib/ to api/.
- lib/ is for code that's used by >1 part of BOINC
-
- lib/
- coproc.cpp,h
- api/
- boinc_opencl.cpp,h (new)
- Makefile.am
-
-David 31 Aug 2011
- - boinc_get_opencl_ids():
- - change signature to return int error code
- - no function overloading
-
- api/
- boinc_opencl.cpp,h
-
-David 31 Aug 2011
- - client: fix bugs related to white space around code signing keys
- - win compile fixes
-
- api/
- boinc_opencl.cpp
- client/
- client_types.cpp
- cs_scheduler.cpp
- scheduler_op.cpp
- win_build/
- libboincapi_staticrt.vcproj
-
-David 31 Aug 2011
- - web: show actual project info on "forget password?" page
-
- html/user/
- get_passwd.php
-
-David 31 Aug 2011
- - API: boinc_get_opencl_ids() doesn't need to link
- the OpenCL library at runtime.
- It's used only in OpenCL applications,
- which already include the library.
-
- api/
- boinc_opencl.cpp,h
- Makefile.am
-
-David 31 Aug 2011
- - scheduler: make sure there's a \n after and .
- Otherwise older clients won't be able to parse.
-
- sched/
- sched_types.cpp
-
-Rom 31 Aug 2011
- - VboxWrapper: Specify a configuration directory under the slot directory to
- try and avoid permission errors on multiple platforms when BOINC
- is installed as a daemon.
-
- samples/vboxwrapper/
- vbox.cpp
-
-Charlie 31 Aug 2011
- - api: Fix compile errors and warnings, add documentation in comments
- - lib: remove unnecessary #include, add needed function declarations
-
- api/
- boinc_opencl.cpp, .h
- lib/
- cl_boinc.h
- coproc.cpp
-
-David 31 Aug 2011
- - web: show relative performance on GPU list
-
- html/user/
- gpu_list.php
-
-Charlie 1 Sep 2011
- - api: More fixes to boinc_get_opencl_ids()
-
- api/
- boinc_opencl.cpp
- lib/
- cl_boinc.h
-
-Charlie 1 Sep 2011
- - lib: if OS_Darwin use procinfo_mac.cpp isntead of procinfo_unix.cpp.
- - lib, api: update XCode project to build same source files in each
- library as corresponding make files.
-
- lib/
- makefile.am
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 1 Sept 2011
- - server: rename process_wu_template() to process_input_template(),
- and move it to its own file
-
- sched/
- Makefile.am
- tools/
- backend_lib.cpp,h
- process_input_template.cpp,h (new)
- Makefile.am
- api/
- reduce_main.cpp
-
-David 1 Sept 2011
- - server: factor process_input_template() into smaller pieces
-
- tools/
- process_input_template.cpp
-
-David 1 Sept 2011
- - web: fix bug in "allow beta apps" preferences editing
-
- html/user/
- prefs_edit.php
-
-David 1 Sept 2011
- - wrapper compile fixes
-
- samples/wrapper/
- wrapper.cpp
-
-Rom 1 Sept 2011
- - VboxWrapper: Add a way to extract the VM process id from the VM's
- log file.
-
- samples/vboxwrapper/
- vbox.cpp, .h
-
-David 2 Sept 2011
- - client (and API and manager): change the data structure
- used for system process info
- Old: vector of PROCINFO.
- Descendants of a process were found by recursively
- iterating through the vector.
- Operations are O(n)
- New: map of (id, PROCINFO),
- and each PROCINFO has a vector of its children.
- Operations are O(log(n))
- Also combined Mac/Win/Linux variants of code that
- was essentially the same.
-
- lib/
- procinfo.cpp,h
- procinfo_win.cpp
- procinfo_unix.cpp
- procinfo_mac.cpp
- clientgui/
- BOINCClientManager.cpp
- BOINCGUIApp.cpp
-
-David 2 Sept 2011
- - more code shuffling:
- proc_control: controlling processes
- procinfo: enumerating and querying processes
- run_app_windows: launching apps as other users on Win
-
- lib/
- proc_control.cpp,h
- run_app_windows.cpp
- procinfo.cpp,h
- Makefile.am
- api/
- boinc_api.cpp
- client/
- app_control.cpp
-
-David 2 Sept 2011
- - client/API/vboxwrapper:
- add a mechanism so that apps can report sub-processes
- that are not descendants (e.g., virtual machines)
- These processes are then counted as part of the app,
- not as "non-BOINC CPU time".
- This fixes a bug where processing was incorrectly suspended
- because CPU usage by VM apps exceeded the "CPU usage limit" pref.
-
- Implementation:
- - the PIDs of the processes in question
- are passed from app to client via shared-memory,
- in the app_status channel.
- A new variant of boinc_report_app_status() supports this.
- - the VBox wrapper queries the PID of the VM,
- and reports it in this way.
- - procinfo_app() includes a new argument: a list of PIDs
- that are part of the app, although not ancestrally
- related to the main process.
- - in the client, ACTIVE_TASK now includes a vector "other_pids".
- If this is nonempty, it's passed to procinfo_app().
-
- lib/
- procinfo.cpp,h
- samples/
- vboxwrapper/
- vbox.cpp,h
- vboxwrapper.cpp
- api/
- boinc_api.cpp,h
- client/
- app.cpp,h
- app_control.cpp
-
-David 2 Sept 2011
- - web: fix bug in add project prefs for a venue
-
- html/user/
- add_venue.php
-
-Charlie 2 Sep 2011
- - lib: Fix compile errors; add app_control.cpp to XCode project.
-
- client/
- app_control.cpp
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 2 Sept 2011
- - lib: minor code shuffle
-
- lib/
- proc_control.cpp
- procinfo_win.cpp
-
-David 2 Sept 2011
- - web: when displaying a user's posts, limit the query to 1000
- so the page doesn't exceed CPU limit
-
- html/user/
- forum_user_posts.php
-
-David 5 Sept 2011
- - web: fix warnings in forum pages
- - scheduler: when using elapsed time stats to predict runtime,
- cap the estimated FLOPS at twice the peak FLOPS;
- otherwise, if a host has received a lot of very short jobs
- recently, it will get a too-high FLOPS estimate and
- will exceed the rsc_fpops_bound limit.
-
- db/
- boinc_db.h
- sched/
- sched_types.cpp,h
- sched_version.cpp
- html/
- ops/
- submit_permissions.php
- inc/
- forum.inc
-
-David 5 Sept 2011
- - scheduler RPC: add element to
- the element in
- scheduler RPC request
- (tells the server that there's an override file).
- - account manager RPC: add element,
- including the override flag.
- - web: add "no time limit" option for forum search
- - web: increase show-user-post query limit to 10000
-
- lib/
- prefs.cpp,h
- client/
- cs_prefs.cpp
- acct_mgr.cpp
- html/user/
- forum_search.php
- forum_search_action.php
- forum_user_posts.php
-
-David 6 Sept 2011
- - scheduler: add a debug message
-
- sched/
- sched_send.cpp
-
-David 6 Sept 2011
- - client: fix bugs with white space around code sign keys
- and file signatures
- - client: when describing app versions in scheduler requests,
- we still must use CUDA instead of NVIDIA;
- that's what's in the server code.
-
- client/
- client_types.cpp
-
-David 6 Sept 2011
- - scheduler: use new XML parser for most request elements
- - scheduler: parse NVIDIA as well as CUDA in app version descriptions
- (workaround for recent clients)
-
- sched/
- sched_send.cpp
- sched_types.cpp
-
-David 6 Sept 2011
- - preliminary stuff for mechanism where privileged users
- can create apps and app versions
- - crontab commands should be preceded by cd to project root
-
- db/
- schema.sql
- tools/
- make_project
- html/
- ops/
- submit_permissions.php
- db_update.php
- user/
- submit_app.php
-
-David 7 Sept 2011
- - scheduler: fix crashing bug
-
- sched/
- sched_version.cpp
- sched_assign.cpp
-
-Rom 7 Sept 2011
- - Tag for 6.13.2 release, all platforms
- boinc_core_release_6_13_2
-
- /
- configure.ac
- version.h
-
-David 7 Sept 2011
- - feeder: change the DB query to skip jobs for deprecated apps.
- Otherwise, if you have a deprecated app with >= 200 jobs
- (200 is the query's limit)
- it could always get jobs for that app,
- and never put anything into the cache.
-
- db/
- boinc_db.cpp
-
-David 7 Sept 2011
- - client: make exit_before_start a cc_config.xml option
- (as well as a cmdline option)
- - wrapper: print error messages if stdin/out/err files don't exist
-
- lib/
- cc_config.cpp,h
- samples/wrapper/
- wrapper.cpp
- client/
- client_state.cpp,h
- app_start.cpp
- cs_cmdline.cpp
- app_control.cpp
-
-David 8 Sept 2011
- - scheduler: in work_needed(), ignore requests for resource
- types for which we have no app versions
- - client: if too many elements in cc_config.xml,
- detect it and inform user
-
- sched/
- sched_send.cpp
- lib/
- coproc.h
- cc_config.cpp
- samples/
- client_state_save.xml
- client/
- log_flags.cpp
-
-David 8 Sept 2011
- - web: fix PHP warning
-
- html/inc/
- result.inc
-
-David 8 Sept 2011
- - validator: old scheduler bugs may cause result.flops_estimate
- to be negative in some cases.
- Detect this, and use 1e10 instead
-
- sched/
- credit.cpp
-
-David 8 Sept 2011
- - client: new XML parser had a limit of 8KB for strings.
- This broke things. Increase it to 256KB.
-
- lib/
- parse.cpp
-
-Charlie 9 Sep 2011
- - Mac: More fixes for building under XCode 4.1.
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- mac_installer/
- release_boinc.sh
-
-Rom 9 Sept 2011
- - Tag for 6.13.3 release, all platforms
- boinc_core_release_6_13_3
-
- /
- configure.ac
- version.h
-
-David 9 Sept 2011
- - web: suppress warning on cache unlink
-
- html/inc/
- cache.inc
-
-David 9 Sept 2011
- - client: XML-escape the URLs in RSS feed lists
- - lib: make xml_unescape work for arbitrarily large strings
-
- lib/
- parse.cpp
- client/
- cs_notice.cpp
-
-David 10 Sept 2011
- - client: don't pass --gpu_type to GPU apps;
- this breaks many existing apps.
- Instead, pass the GPU type (and the device number)
- in app_init_data.xml
-
- client/
- app_start.cpp
- lib/
- app_ipc.cpp,h
-
-David 10 Sept 2011
- - client: fix error in parsing of XML comments
-
- lib/
- parse.cpp
-
-David 11 Sept 2011
- - client: finish next-to-last checkin
-
- client/
- app_control.cpp
- app_start.cpp
- app.h
-
-David 11 Sept 2011
- - manager, simple view:
- - edit label text
- - increase opacity of main area;
- otherwise some text is hard to read
- - change borders from blue to light gray.
- In general shouldn't use primary colors
- - display credit as integer
- - reduce size of project name;
- otherwise long names don't fit (on Win)
- - don't use "(in slot x)".
- "Slot" is not part of the vocabulary here.
-
- clientgui/
- sg_PanelBase.cpp
- sg_ProjectPanel.cpp
- sg_TaskPanel.cpp
-
-David 11 Sept 2011
- - API: change boinc_get_opencl_ids() to use APP_INIT_DATA
- instead of cmdline
-
- api/
- boinc_api.cpp,h
- boinc_opencl.cpp,h
-
-David 11 Sept 2011
- - API; fix the above fix
-
- api/
- boinc_api.cpp,h
- boinc_opencl.cpp
- Makefile.am
-
-David 12 Sept 2011
- - client: make RR simulation more accurate
- by simulating time-slicing explicitly.
- Also simulate changes in project REC
- and hence in scheduling priority.
- - client: add a log flag "rrsim_detail" that prints
- time-slice-level info.
-
- lib/
- cc_config.cpp,h
- client/
- work_fetch.cpp,h
- client_types.cpp,h
- rr_sim.cpp,h
- cpu_sched.cpp
-
-David 12 Sept 2011
- - client: remove code related to debt-based scheduling
-
- client/
- work_fetch.cpp,h
- client_types.cpp,h
- sim.cpp
- cpu_sched.cpp
-
-David 12 Sept 2011
- - client: make file upload work w/ old handlers
-
- client/
- file_xfer.cpp
-
-David 12 Sept 2011
- - web: add config option
-
- html/user/
- create_account_form.php
- create_account_action.php
- sample_index.php
-
-David 12 Sept 2011
- - validator: add --no_credit option;
- maintains stats but doesn't grant credit
-
- sched/
- validator.cpp
-
-David 12 Sept 2011
- - client, GUI RPC, Manager:
- in GUI RPC, change RESULT.gpu_mem_wait to scheduler_wait.
- It means that the app did a boinc_temporary_exit(),
- and is waiting to be rescheduled.
- GPU mem wait is one source of this, not the only one
-
- clientgui/
- MainDocument.cpp
- lib/
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
- client/
- client_types.cpp
-
-Rom 13 Sept 2011
- - VBOX: Add more trace messages to the wrapper to help resolve
- issues.
-
- samples/vboxwrapper/
- vbox.cpp
-
-David 13 Sept 2011
- - validator: add a --credit_from_runtime option.
- This assigns credit proportional to runtime*p_fpops.
- To prevent cheating, p_fpops is capped at the 95th percentile value
- among active hosts,
- and runtime is capped at a specified limit.
- This option supports apps, like LHC's CERNvm app,
- that run for a certain amount of time and then exit.
- The CreditNew system doesn't work for such apps.
- - trickle_credit:
- To prevent cheating,
- cap p_fpops at the 95th percentile value among active hosts,
- and require a limit on runtime.
- - require that trickle handlers supply an initialization function
-
- db/
- boinc_db.cpp,h
- sched/
- trickle_handler.cpp,h
- trickle_credit.cpp
- trickle_echo.cpp
- validate_util2.cpp
- validator.cpp
-
-David 13 Sept 2011
- - wrapper: don't delete task-level checkpoint file when starting task;
- that defeats the purpose. From Uwe Becker.
-
- samples/wrapper/
- wrapper.cpp
-
-Rom 13 Sept 2011
- - VBOX: Properly trap stderr output from vboxmanage by redirecting it to
- stdout. Error messages should now be properly detected on Linux and
- Mac.
-
- samples/vboxwrapper/
- vbox.cpp
-
-Rom 13 Sept 2011
- - VBOX: Don't attempt to stop a VM that is already shut down.
-
- samples/vboxwrapper/
- vbox.cpp
-
-Rom 13 Sept 2011
- - VBOX: Make is_running() a bit smarter about detecting the running state
- of a virtual machine.
-
- samples/vboxwrapper/
- vbox.cpp
-
-David 13 Sept 2011
- - client: get GPU available RAM at startup (only)
- - client: fix compile warning
-
- lib/
- coproc.cpp
- client/
- work_fetch.cpp,h
- client_state.cpp
- coproc_detect.cpp
- cpu_sched.cpp
-
-David 13 Sept 2011
- - client: fixes to the above
- - client: prevent infinite recursion (and stack overflow)
- in procinfo.cpp:add_child_totals().
- Not sure how this could happen.
-
- client/
- coproc_detect.cpp
- lib/
- procinfo.cpp
-
-Rom 13 Sept 2011
- - VBOX: Increase the pipe buffer on Windows from the default to 128k. Despite what
- the docs say, if the buffer isn't large enough VboxManage hangs attempting to
- write the VM log file to it. Luckly the VM log file is only 64k.
- - VBOX: Fix a couple of parsing errors.
-
- samples/vboxwrapper/
- vbox.cpp
-
-Rom 14 Sept 2011
- - VBOX: Add a register_only command line argument to help debug VM related issues.
- - VBOX: Add some suggestions to the source on how to debug VM related issues.
- - VBOX: Add a quick sanity check when the enable_shared_directory option is
- enabled.
-
- samples/vboxwrapper/
- vbox.cpp, .h
- vboxwrapper.cpp
-
-David 13 Sept 2011
- - client: escape URLs for curl, otherwise filenames with spaces don't work
-
- lib/
- procinfo.cpp
- client/
- http_curl.cpp
-
-David 13 Sept 2011
- - client: curl_easy_escape() escapes way too much. Just escape spaces.
-
- client/
- http_curl.cpp
-
-David 14 Sept 2011
- - XML parsing: do XML unescaping in place rather than allocating
- a buffer on the stack.
- Fixes a Manager crash on the Mac,
- where the default thread stack size seems to be 512KB.
-
- lib/
- parse.cpp,h
- app_ipc.cpp
- client/
- cs_notice.cpp
-
-Rom 14 Sept 2011
- - client: Update Windows detection code to support Windows 8.
- (From: [P3D] Crashtest)
-
- client/
- hostinfo_win.cpp
-
-David 14 Sept 2011
- - client: change in the use of GPU available RAM:
- - measure the available RAM of each GPU when BOINC starts up.
- If this fails, set available = physical.
- Show available RAM in startup messages.
- - use available RAM rather than physical RAM in selecting
- the "best" GPU instance
- - report available RAM to the scheduler
- TODO: change the scheduler to use available rather than physical
- if it's reported
-
- sched/
- sample_trivial_validator.cpp
- lib/
- coproc.cpp,h
- client/
- client_state.cpp
- coproc_detect.cpp
- cpu_sched.cpp
-
-David 14 Sept 2011
- - vboxwrapper: we don't seem to be getting the VM PID.
- Add some printfs.
-
- samples/vboxwrapper/
- vbox.cpp
-
-David 14 Sept 2011
- - client: report available GPU RAM to scheduler
-
- lib/
- coproc.cpp
-
-David 14 Sept 2011
- - lib: parse in coproc XML
- - lib: do coproc XML parsing using new XML parser
-
- lib/
- parse.cpp,h
- coproc.cpp,h
-
-David 14 Sept 2011
- - scheduler: in app_plan functions for GPUs,
- use available RAM if reported by client;
- otherwise use physical RAM.
-
- sched/
- sched_customize.cpp
-
-David 14 Sept 2011
- - scheduler: revise [21428] to include non-anonymous-platform,
- and change the ratio limit from 2 to 10.
-
- sched/
- sched_send.cpp
- sched_version.cpp
-
-Charlie 15 Sep 2011
- - lib: fix compiler warning.
- - vboxwrapper: fix compiler warning.
- - Mac: Change XCode project to build both 32-bit and 64-bit
- BOINC libraries for debug as well as for deployment.
- - vboxwrapper: update XCode project for easier access to built
- executables and symbol tables under XCode 4.1.
-
- lib/
- coproc.cpp
- samples/
- vboxwrapper/
- vbox.cpp
- vboxwrapper.xcodeproj/
- project.pbxproj
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 15 Sept 2011
- - minor code shuffle
-
- client/
- rr_sim.cpp
-
-Rom 15 Sept 2011
- - VBOX: Add a way to track overall network utilization of a VM.
-
- samples/vboxwrapper/
- vbox.cpp, .h
-
-David 16 Sept 2011
- - Validator: allow project-specific code to mark a result
- is a "runtime outlier", i.e. its runtime does
- not correspond to the job's rsc_fpops_est.
- Runtime outliers are not counted in the statistics for
- elapsed time, turnaround time, and peak FLOPs count.
-
- The is intended for applications like SETI@home,
- some of whose jobs finish more or less instantly
- (this happens if the data contains a lot of interference).
- If a host happens to get a bunch of these short jobs,
- its statistics will get skewed: in essence, the server
- will think that the host is extremely fast,
- and will send it too many jobs.
-
- db/
- boinc_db.cpp,h
- sched/
- credit.cpp
- validator.cpp
- html/ops/
- db_update.php
-
-David 16 Sept 2011
- - vboxwrapper: code cleanup
- - use double for potentially large quantities
- - factor out repetitive code, rather than copy and paste
-
- samples/vboxwrapper/
- vbox.cpp,h
-
-David 16 Sept 2011
- - vboxwrapper: report network usage to the client
- - client: include the above in enforcing network quota preferences
-
- api/
- boinc_api.cpp,h
- samples/vboxwrapper/
- vbox.cpp,h
- vboxwrapper.cpp
- client/
- app.cpp,h
- app_control.cpp
- sched/
- trickle_handler.cpp
-
-David 16 Sept 2011
- - transitioner: fix bug related to new runtime_outlier field
-
- db/
- boinc_db.cpp
-
-David 16 Sept 2011
- - validator: add runtime_outlier message
-
- sched/
- credit.cpp
-
-David 16 Sept 2011
- - client: with VBox on Win, the process graph sometimes has cycles.
- Not sure where this comes from.
- But avoid infinite recursion when traversing descendants.
-
- lib/
- procinfo.cpp,h
-
-Charlie 16 Sep 2011
- - wrapper: Update Mac build script for XCode 4.1 and OS 10.7.
- NOTE: We no longer support PowerPC Macs.
-
- samples/wrapper/
- wrapper.cpp
-
-David 18 Sept 2011
- - client: make the attributes of GUI RPCs (network, authentication)
- explicit rather than determined by position in a list.
- - client: add a new "read-only" attribute for GUI RPCs.
- This is in preparation for handling GUI RPCs in separate threads.
- - client: remove code to support pre-V6 graphics.
-
- lib/
- parse.h
- client/
- cs_notice.cpp,h
- gui_rpc_server.cpp,h
- gui_rpc_server_ops.cpp
- app.cpp
- app_control.cpp
- Makefile.am
-
-David 18 Sept 2011
- - Win fixes
-
- lib/
- mfile.cpp
- parse.cpp
- win_build/
- boinc_cli.vcproj
-
-David 18 Sept 2011
- - lib: add generic interfaces for threads and thread synchronization
-
- lib/
- thread.cpp,h
-
-David 18 Sept 2011
- - win fixes
-
- lib/
- thread.cpp,h
- win_build/
- libboinc.vcproj
-
-Rom 19 Sept 2011
- - Tag for 6.13.4 release, all platforms
- boinc_core_release_6_13_4
-
- /
- configure.ac
- version.h
-
-David 19 Sept 2011
- - client: in handling the acct_mgr GUI RPC,
- don't start the RPC directly;
- that might fail if CLIENT_STATE::gui_http is busy.
- Instead, set a timer field.
- - client: structure ACCT_MGR_OP the same as other GUI_HTTP_OP variants
- - client: clarify the comments on GUI_HTTP and GUI_HTTP_OP
-
- Note: GUI_HTTP and GUI_HTTP_OP are misnomers; they refer to
- any HTTP op other than scheduler requests and file transfers.
- Should change the name, maybe to CLIENT_HTTP*
-
- client/
- client_state.cpp
- gui_rpc_server.cpp
- gui_rpc_server_ops.cpp
- gui_http.cpp,h
- acct_mgr.cpp,h
- cs_trickle.h
-
-Charlie 20 Sep 2011
- - Mac: Remove app_graphics.cpp from Client in XCode project, add new
- files thread.cpp,.h to libboinc.a in XCode project.
- (Checked in to 6.13.4 tag.)
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-David 20 Sept 2011
- - client: intermediate checkin for replicated trickle-ups.
- Not finished yet.
- - example app: add --trickle_up and --trickle_down options,
- for testing trickle messages
-
- client/
- acct_mgr.cpp
- client_types.h
- cs_notice.cpp,h
- cs_scheduler.cpp
- cs_trickle.cpp,h
- gui_http.cpp,h
- gui_rpc_server.cpp,h
- http_curl.cpp,h
- scheduler_op.cpp,h
- samples/example_app/
- uc2.php
-
-David 21 Sept 2011
- - back end: extend the access control system for remote job submission
- and other operations.
- You can now designate a user as "manager" for a particular app.
- They can then:
- - control job-submit permissions for that app
- - deprecate/undeprecate versions of the app.
- - abort jobs for that app
-
- You can also designate a user as manager for the project.
- They can then edit permissions and quotas,
- as well as performing the app-specific functions for all apps.
-
- This is described here:
- http://boinc.berkeley.edu/trac/wiki/MultiUser#Accesscontrol
-
- This required some changes to the DB schema.
-
- db/
- schema.sql
- tools/
- manage_privileges
- html/
- inc/
- submit.inc
- submit_util.inc (new)
- result.inc
- ops/
- submit_permissions.php (removed)
- db_update.php
- user/
- manage_project.php (new)
- submit_example.php
- manage.php (new)
- manage_app.php (new)
- submit.php
- py/Boinc/
- setup_project.py
-
-David 21 Sept 2011
- - client: fix bug in ATI GPU detection, caused zero RAM measurements
-
- client/
- coproc_detect.cpp
-
-Rom 21 Sept 2011
- - client: fix ATI GPU max mem display issue.
-
- lib/
- coproc.cpp
-
-David 21 Sept 2011
- - fix typo in DB schema
- - msg tweaks in make_project
-
- db/
- schema.sql
- py/Boinc/
- setup_project.py
-
-David 21 Sept 2011
- - client: more stuff for replicated trickle ups
-
- client/
- cs_trickle.cpp
- client_types.cpp
- http_curl.cpp
-
-David 21 Sept 2011
- - lib: don't include thread.cpp;
- not needed for server, and causes errors on some 64-bit Linux
-
- lib/
- Makefile.am
-
-Charlie 22 Sep 2011
- - vboxwrapper: fix code which sets environment variables.
- - "PATH" must be upper case.
- - putenv() does not copy its input string, so must use setenv().
-
- samples/
- vboxwrapper/
- vbox.cpp
-
-Rom 22 Sept 2011
- - VBOX: More environment variable tweaks.
-
- samples/vboxwrapper/
- vbox.cpp, .h
-
-David 22 Sept 2011
- - client: more work on replicated trickles. Not working yet.
-
- client/
- client_state.cpp
- cs_trickle.cpp,h
-
-David 22 Sept 2011
- - client: replicated trickles. Seems to be working now.
- - client: added config option
-
- client/
- cs_trickle.cpp
- gui_http.cpp,h
- httl_curl.cpp
- lib/
- cc_config.cpp,h
-
-Rom 22 Sept 2011
- - Tag for 6.13.5 release, all platforms
- boinc_core_release_6_13_5
-
- /
- configure.ac
- version.h
-
-Rom 22 Sept 2011
- - client: Disable GPU detection of Windows when running as a
- service to avoid a deadlock condition with the latest ATI
- drivers.
-
- client/
- client_state.cpp
- coproc_detect.cpp
-
-Charlie 23 Sep 2011
- - Mac: fixes for problems with OS 10.4 compatibility.
- (checked into 6.13.5 and 6.13.6 tags)
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
-
-Rom 22 Sept 2011
- - Tag for 6.13.6 release, all platforms
- boinc_core_release_6_13_6
-
- /
- configure.ac
- version.h
-
-David 23 Sept 2011
- - fix typo in manage_privileges
-
- tools/
- manage_privileges
-
-David 23 Sept 2011
- - web: don't addslashes() for button titles; this was left over
- from when buttons were implemented in Javascript
-
- html/inc/
- util.inc
-
-David 23 Sept 2011
- - web: message tweak
-
- html/inc/
- forum.inc
-
-David 23 Sept 2011
- - client: fix spurious error message about trickle-up URLs
-
- client/
- client_types.cpp
-
-David 23 Sept 2011
- - client: don't call CLIENT_STATE::free_mem() on shutdown.
- This is for debugging only, and it can cause crashes.
-
- client/
- main.cpp
-
-Charlie 24 Sep 2011
- - Mac: more fixes for problems with OS 10.4 compatibility.
- (checked into 6.13.5 and 6.13.6 tags)
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- mac_installer/
- PostInstall.cpp
- uninstall.cpp
-
-David 26 Sept 2011
- - client simulator: add --existing_jobs_only option.
- This simulates just the jobs in the state file,
- rather than simulating an infinite stream of jobs
- modeled after the ones in the state file.
-
- client/
- sim.cpp,h
- cs_prefs.cpp
-
-Charlie 26 Sep 2011
- - Mac: update wxMac build script for building with XCode 4.1
- under OS 10.7 while maintaining OS 10.4 compatibility.
- (checked into 6.13.6 tag)
-
- mac_build/
- buildWxMac.sh
-
-David 26 Sept 2011
- - client simulator: fixes
- - client: message tweaks
-
- client/
- client_state.cpp,h
- sim.cpp
- cs_prefs.cpp
- cs_apps.cpp
- log_flags.cpp
- cpu_sched.cpp
- lib/
- cc_config.h
-
-David 26 Sept 2011
- - web: when showing a user's posts, don't show the ones
- in hidden threads
- - web: in showing the context of a post, link the thread also.
-
- html/
- user/
- forum_user_posts.php
- inc/
- forum.inc
-
-Charlie 27 Sep 2011
- - client: Fix compile break on Mac.
-
- client/
- cpu_sched.cpp
-
-Rom 27 Sept 2011
- - web: The create_account RPC supports taking an invite_code parameter
- but we currently do not expose a way in get_project_config to determine
- that a UI should prompt for one. Add a tag
- if the project is only accepting new accounts by invitation.
-
- html/user/
- get_project_config.php
-
-Rom 27 Sept 2011
- lib: only build the static version of libboinc.
-
- lib/
- Makefile.am
-
-David 27 Sept 2011
- - fix comment
- client/
- app_control.cpp
-
-David 27 Sept 2011
- - Updates Linux notifications to use current libnotify.
- - Fix build problems on Mac OS X using autotools
- - Consistently use #if HAVE_X for platform checks,
- rather than #ifdef HAVE_X or #if defined(HAVE_X)
- - In Unix build, make lots of compiler checks standard
- - Fix some compile warnings
-
- From Matt Arsenault.
-
- Note: there are now lots of compile warnings in clientgui/ on Unix,
- mostly in WxWidgets code
-
- configure.ac
- Makefile.incl
- clientgui/gtk
- taskbarex.cpp
- db/
- boinc_db.cpp
- clientscr/
- gfxswitcher.cpp
- sched/
- file_deleter.cpp
- hr.h
- lib/
- various
- win_build/
- win-config.h
- api/
- various
- client/
- various
-
-Charlie 27 Sep 2011
- - client: Fix compiler warnings on Mac.
- - client: Fix compile break on Mac.
-
- client/
- client_state.cpp
- cs_cmdline.cpp
- mac/
- config.h
-
-David 28 Sept 2011
- - manager: fix build break on Linux
- Undoes part of yesterday's checkin.
- - more changes from #ifdef HAVE_X to #if HAVE_X
-
- clientgui/gtk/
- taskbarex.cpp
- lib/
- proc_control.cpp
- mac_address.cpp
- diagnostics.cpp
- parse.h
-
-Rom 30 Sept 2011
- - WINSETUP: Add more logging to the create group and add user to group
- functions in an attempt to figure out what is going on with Windows 8.
-
- win_build/installerv2/redist/Windows/src/boinccas/
- CACreateBOINCGroups.cpp
- win_build/installerv2/redist/Windows/Win32/
- boinccas.dll
- boinccas95.dll
- win_build/installerv2/redist/Windows/x64/
- boinccas.dll
- boinccas95.dll
-
-David 1 Oct 2011
- - client: fix a bug reported by Jacob Klein,
- where work fetch didn't work right in the presence of
- multiple GPUs and config options.
- For example: suppose:
- - you have 2 GPUs and 2 projects
- - Project A is excluded from GPU 1
- - you have lots of jobs for project A
- Then the client won't try to fetch jobs from project B.
-
- The problem had 2 parts:
- a) round-robin simulation wasn't taking GPU exclusions into account.
- In the above example, it would think that both GPUs had jobs.
- I fixed this by computing the # of GPUs from each project
- is excluded, and using this in the RR simulation.
- b) Once this was done, I needed to make the client
- request GPU jobs from project B rather than project A.
- I did this with following policy:
- If a project has excluded GPUs of a given type,
- and has a runnable job of that type,
- don't ask it for more work of that type.
-
- Notes:
- - the policy in b) is crude, and it means that work-buffer
- preferences are ignored in some cases.
- - neither a) nor b) takes into account app-level exclusions.
-
- I could fix both of these with a lot of work,
- but I'd rather move to a model in which dissimilar GPUs
- are modeled as different resources,
- which would remove the need for the mechanism
- in the first place.
-
- Other note: I figured out this problem using the client simulator,
- based on the client state file that Jacob sent me.
-
- - web: remove extraneous ) at end of button tooltips
-
- html/inc/
- util.inc
- client/
- client_types.h
- client_state.cpp
- sim.cpp
- work_fetch.cpp
- rr_sim.cpp
- gui_rpc_serever_ops.cpp
- log_flags.cpp,h
-
-David 1 Oct 2011
- - client: specify the project in "Some tasks need more memory
- than allowed by your preferences" messages
-
- client
- cs_trickle.cpp
- client_state.cpp
-
-David 1 Oct 2011
- - team import script: don't exit if fail to create user.
- The failure may be because the email is banned
- (as happened w/ SETI@home)
-
- html/ops/
- team_import.php
-
-David 2 Oct 2011
- - client: fix bug that could cause GPU idleness
- in the presence of GPU exclusions.
- The problem was in the job-selection phase,
- which picks enough jobs to use all devices.
- It was ignoring GPU exclusions, so for example on
- a 2 GPU system it could pick 2 jobs from a project
- for which 1 GPU is excluded,
- and as a result 1 GPU would be idle.
-
- Solution: during job selection,
- keep track of GPU usage on a per-instance basis.
- Select a job only if it can run on a non-excluded GPU.
-
- - client: in computing ncprocs_excluded (which is used in
- work fetch policy) don't count exclusions of non-existent devices
-
- html/ops/
- team_export.php
- lib/
- coproc.h
- client/
- log_flags.cpp
- cpu_sched.cpp
-
-David 2 Oct 2011
- - client: compute project scheduling priority more efficiently
- - client: if an app version can't be used because the GPUs it needs
- are all excluded, mark it and all its results as "coproc missing"
- so that they won't be looked at in scheduling logic.
-
- client/
- client_state.cpp
- client_types.cpp,h
- cpu_sched.cpp
- gui_rpc_server_ops.cpp
- log_flags.cpp,h
- rr_sim.cpp
- sim.cpp
- work_fetch.cpp
-
-Charlie 3 Oct 2011
- - client: Fix compiler warnings.
-
- client/
- cpu_sched.cpp
-
-David 3 Oct 2011
- - web: fix error in profile listings.
- From Uwe Becker.
-
- html/user/
- profile_menu.php
-
-David 3 Oct 2011
- - lib: move XML parse test program to its own file.
-
- Note: XML_PARSER::parse_str() doesn't currently work right
- for something like xx.
- It should return "xx".
- TODO.
-
- lib/
- parse.cpp,h
- parse_test.cpp (new)
- Makefile.am
-
-David 3 Oct 2011
- - scheduler: fix bugs that broke work fetch for anonymous platform;
- don't send irrelevant messages to anon platform clients
-
- sched/
- sched_types.h
- sched_send.cpp
-
-David 3 Oct 2011
- - scheduler: record VirtualBox version # in the host table
-
- sched/
- handle_request.cpp
- lib/
- coproc.cpp,h
-
-David 4 Oct 2011
- - client: don't generate notice if lookup of host
- in remote_hosts.cfg fails.
-
- client/
- gui_rpc_server.cpp
-
-David 4 Oct 2011
- - client: don't show "(device N)" if there's only 1 device
-
- client/
- client_types.cpp
-
-David 4 Oct 2011
- - client: win compile fixes
-
- client/
- cpu_sched.cpp
-
-Rom 4 Oct 2011
- - WINSCR: Before shutting down the screensaver, quickly reinitialize the OpenGL device
- on the primary display. Some of the issues being reported with the screensaver
- is a left over ghost image of the OpenGL display before the graphics application
- was terminated because keyboard/mouse activity was detected.
-
- clientscr/
- screensaver_win.cpp
- win_build/
- boinc_os_ss.vcproj
-
-David 4 Oct 2011
- - client: in the function that sorts jobs by arrival time,
- don't use name as a tiebreaker.
- The will typically group jobs of the same application,
- and (it is believed that) things run faster when
- applications are mixed.
- - scheduler: bug: if a client gets host-specific prefs
- (e.g. from an account manager)
- it will send only the working prefs to the scheduler.
- The scheduler then always sends back the DB prefs,
- overwriting the host-specific prefs.
- Fix: note the mod time in the working prefs,
- and only send the DB prefs if they're more recent.
-
- client/
- cs_statefile.cpp
- sched/
- handle_request.cpp
-
-David 5 Oct 2011
- - client: fix a memory leak; would lose ~120 bytes each time a job is started
-
- lib/
- filesys.cpp
-
-Rom 5 Oct 2011
- - Lib: Re-enable boinc lib mem snapshots for BOINC based applications (boinc,
- boincmgr, boinc.scr) on Windows.
-
- lib/
- diagnostics.cpp
-
-David 5 Oct
- - client: fix memory leak when reading stderr of completed job.
- This caused 128KB + size of stderr loss for each job.
- - client: print error message if reading stderr fails
- (e.g. because of malloc failure)
-
- client/
- app.h
- app_control.cpp
-
-David 5 Oct
- - client: free vectors in NOTICES, RSS_FEEDS, and DAILY_XFER_HISTORY
- in free_mem() (for mem leak checking)
-
- client
- cs_notice.h
- check_state.cpp
- net_stats.h
-
-David 5 Oct
- - scheduler: fix bug that caused scheduler to not send GPU jobs
-
- sched/
- sched_customize.cpp
- lib/
- coproc.cpp
-
-David 5 Oct
- - client: problem: suppose a project has 2 data servers,
- and one of them is down.
- If several downloads from the broken one fail,
- we go into "project-level backoff"
- and don't start downloads from either server.
- (Same applies to uploads).
-
- Solution: make project-level backoff apply only to
- transfers that have already failed at least once
-
- client/
- pers_file_xfer.cpp
-
-David 6 Oct
- - GUI RPC: add get_daily_xfer_history() RPC for getting
- the daily records of #bytes uploaded and downloaded
-
- lib/
- gui_rpc_client_print.cpp
- gui_rpc_client_ops.cpp
- gui_rpc_client.h
- client/
- boinc_cmd.cpp
- gui_rpc_server_ops.cpp
- net_stats.cpp,h
- main.cpp
-
-David 6 Oct
- - client: fix bug in writing daily xfer history file
-
- client/
- main.cpp
- net_stats.cpp
-
-Charlie 7 Oct 2011
- - client: write descriptions of OpenCL devices to stdout
- (and display in manager's Event log).
- - client: work around a bug where OpenCL reports global RAM of ATI
- GPUs incorrectly (1/2 of actual value.)
-
- client/
- coproc_detect.cpp
- lib/
- coproc.cpp, .h
-
-David 7 Oct 2011
- - client/server: change field names in OPENCL_DEVICE_PROP
- to match those in the clGetDeviceInfo() calls.
- Principles:
- - if there's already a name for something, use it.
- - follow case conventions
-
- lib/
- coproc.cpp,h
- client/
- coproc_detect.cpp
- sched/
- sched_customize.cpp,h
-
-David 7 Oct 2011
- - scheduler add app_plan() support for plan classes
- opencl_nvidia_101 and opencl_ati_101
-
- sched/
- sched_customize.cpp
-
-David 7 Oct 2011
- - client and scheduler: estimate peak FLOPS for GPUs that
- are detected by OpenCL but not by native APIs (CUDA/CAL).
- This is limited by the fact that OpenCL doesn't give
- us the necessary hardware info
- (ATI; wavefrontSize; NVIDIA: compute capability).
- We use the minimum values for these,
- so in most cases we'll be underestimating the peak FLOPS.
-
- lib/
- coproc.cpp,h
-
-David 7 Oct 2011
- - client (Mac): there was no error check of the creation
- of a memory-mapped file used for communication with an app.
- Add a check, and don't start the job if it fails.
-
- client/
- app_start.cpp
-
-David 7 Oct 2011
- - client: don't do scheduler-requested RPCs if
- - project is set to No New Work, and
- - project has no jobs on the client
-
- client/
- client_types.h
- work_fetch.cpp
- cs_scheduler.cpp
-
-David 7 Oct 2011
- - client/scheduler: the code for estimating peak FLOPS of ATI GPUs
- (from Crunch3r) has a multiplier of 2.5 for cores/processor.
- This is possibly because give a double-precision estimate.
- But actually we want single-precision. Change it to 5. See
- http://golubev.com/about_cpu_and_gpu_2_en.htm
-
- lib/
- coproc.cpp
-
-Charlie 7 Oct 2011
- - client: improve code which writes OpenCL descriptions.
-
- client/
- coproc_detect.cpp
-
-Charlie 7 Oct 2011
- - client: Compare openCL-only devices by estimated peak flops.
-
- client/
- coproc_detect.cpp
- lib/
- coproc.cpp,h
-
-David 7 Oct 2011
- - scheduler: problem: in the daily quota mechanism,
- the boundary between days is 00:00 in server local time.
- This creates a spike of jobs being dispatched
- (and files being downloaded) after that time.
-
- Solution: distribute the boundary uniformly,
- using a random number determined by the host ID.
- (Make sure to save/restore the seed around this,
- so we don't destroy the randomness of other things)
-
- sched/
- handle_request.cpp
-
-David 7 Oct 2011
- - client: compare OpenCL-only devices the same as other devices
- - code cleanup
-
- lib/
- coproc.cpp,h
- client/
- coproc_detect.cpp
- sched/
- sched_customize.cpp
-
-David 8 Oct 2011
- - scheduler: fix crashing bug when using HR. From Kevin Reed.
-
- sched/
- sched_version.cpp
-
-Charlie 8 Oct 2011
- - client: Fill in peak flops for each OpenCL GPU before compare;
- else there is nothing to ompare with.
-
- client/
- coproc_detect.cpp
-
-David 8 Oct 2011
- - API: don't crash if send trickle msg running standalone.
- From Christian Ries.
-
- api/
- boinc_api.cpp
-
-David 8 Oct 2011
- - client: fix bugs in acct manager attach/detach
-
- client/
- gui_rpc_server_ops.cpp
-
-Charlie 10 Oct 2011
- - code cleanup
-
- lib/
- coproc.cpp,h
- client/
- coproc_detect.cpp
-
-Rom 10 Oct 2011
- - client: Fix crashing bug in OpenCL detection on Windows.
- - lib: Fix crashing bug for debug builds of the BOINC client software
-
- client/
- coproc_detect.cpp
- lib/
- diagnostics.cpp
-
-Charlie 10 Oct 2011
- - code optimization
-
- client/
- coproc_detect.cpp
-
-Charlie 11 Oct 2011
- - Mac installer: follow recommendations of Apple Developer Technical
- Support: create users and groups boinc_master and boinc_project
- at first available UserIDs and GroupIDs starting at 501 instead
- of 25 to avoid conflicts with UserIDs and groupIDs which may be
- added in the future; use Directory Services to find the user
- names of all human users instead of stepping through the entries
- in the /Users directory.
- - Mac installer: revert to using LoginItemAPI.c under OS 10.7.1,
- because it once again sets hidden property for login items, but
- the AppleScript seems not to work under OS 10.7.1.
-
- clientgui/
- mac/
- SetupSecurity.cpp
- mac_installer/
- PostInstall.cpp
-
-Rom 11 Oct 2011
- - Tag for 6.13.7 release, all platforms
- boinc_core_release_6_13_7
-
- /
- configure.ac
- version.h
-
-David 11 Oct 2011
- - client/server: add a new result state RESULT_UPLOAD_FAILED
- for when the job completed successfully but
- one or more output files had permanent upload failures.
- Show this state in web interfaces.
- - sample_work_generator: check return value of count_unsent_results(),
- so that we don't generate infinite work if there's a DB problem
- - web: RSS feed shows news items from last 90 days, rather than 14
-
- sched/
- sample_work_generator.cpp
- html/
- inc/
- result.inc
- user/
- rss_main.php
- lib/
- coproc.cpp,h
- error_numbers.h
- common_defs.h
- client/
- client_types.cpp,h
- client_state.cpp
- coproc_detect.cpp
-
-David 11 Oct 2011
- - client and user web: show NVIDIA driver version and CUDA version
- as, e.g., 275.33 instead of 27533
-
- html/inc/
- host.inc
- lib/
- coproc.cpp
-
-Rom 11 Oct 2011
- - vbox: Move the destination of the VBOX_USER_HOME environment variable to
- /projects/virtualbox so that the virtualbox configuration
- can remain consistent across one or more projects.
-
- samples/vboxwrapper/
- vbox.cpp
-
-Charlie 11 Oct 2011
- - client: fix NVIDIA driver version and CUDA version display for Mac.
-
- lib/
- coproc.cpp
-
-Rom 11 Oct 2011
- - Tag for 6.13.8 release, all platforms
- boinc_core_release_6_13_8
-
- /
- configure.ac
- version.h
-
-David 11 Oct 2011
- - scheduler: fix a bug that would choose app versions erroneously.
- The problem: the choice of app version was based on
- the "projected FLOPS" return by estimate_flops(av).
- If usage stats exist for the host / app version,
- this returns a number X such that
- WU.rsc_fpops_est/X approximates the runtime of a job
- using the given app version..
- (If WU.rsc_fpops_est is way off, this will be correspondingly way off
- from the actual FLOPS the app version will get.)
- However, if there are no usage stats,
- it return an estimate based on host hardware speed,
- which might be 100X less.
- Hence, in some cases a new app version would never get used.
-
- Solution: choose app versions based on the values
- returned by the app plan functions.
- Use estimate_flops() AFTER choosing the version.
- - scheduler: improve the accuracy of FLOPS estimation for GPU apps.
- The "flops_scale" argument to coproc_perf
- (which expresses the difference between peak GPU FLOPS
- and actual FLOPS) should be used to scale GPU FLOPS
- prior to calling coproc_perf(),
- rather than scaling the estimate returned by coproc_perf().
- - show_shmem: show have_X_apps flags
-
- sched/
- sched_customize.cpp
- sched_version.cpp
- sched_shmem.cpp
-
-Charlie 12 Oct 2011
- - client: fix honoring of cc_config ignore GPU options.
-
- client/
- coproc_detect.cpp
-
-Charlie 13 Oct 2011
- - atiopencl sample: call boinc_get_opencl_ids() if not stand-alone;
- improve error messages.
-
- samples/
- atiopencl/
- atiopencl.cpp
-
-Rom 13 Oct 2011
- - WINSCR: Move the reset display call to the end of the full screensaver
- section. We do not need to perform a display reset in the various
- test modes.
-
- clientscr/
- screensaver_win.cpp
-
-David 13 Oct 2011
- - client: fix bug where network suspend got ignored when
- OS suspends (e.g. sleep or hibernate)
-
- client/
- cs_prefs.cpp
-
-David 13 Oct 2011
- - client: create and destroy PERS_FILE_XFERs even if network suspended.
- This will show pending uploads in the Transfers tab.
- - file_upload_handler: fix message to client when can't acquire lock
- - client: parse in state file correctly
-
- client/
- client_stte.cpp
- sim.cpp
- cs_statefile.cpp
- cs_files.cpp
- sched/
- file_upload_handler.cpp
-
-David 13 Oct 2011
- - web: fix bug in user search when enter empty name prefix
-
- html/user/
- user_search.php
-
-Rom 13 Oct 2011
- - MGR: Support both the old and new libnotify at runtime on Linux
-
- clientgui/gtk/
- taskbarex.cpp
-
-David 13 Oct 2011
- - manager: don't show slot number in simple view task list
-
- clientgui/
- sg_TaskPanel.cpp,h
-
-Rom 13 Oct 2011
- - MGR: Remove code that blocks the switch to simple view when an
- accessibility aid is running.
-
- clientgui/
- BOINCGUIApp.cpp
- AdvancedFrame.cpp
-
-Rom 14 Oct 2011
- - Remove dead code related to v5 graphics applications from the
- client software.
-
- client/
- boinc_cmd.cpp
- clientgui/
- AsyncRPC.cpp, .h
- BOINCGUIApp.cpp, .h
- MainDocument.cpp
- clientgui/gtk/
- taskbarex.cpp
- clientscr/
- screensaver.cpp
- lib/
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
- win_build/
- win-config.h
-
-Rom 14 Oct 2011
- - MGR: Remove the triangle in the lower right-hand corner of the
- default project image for the simple GUI
-
- clientgui/res/skins/default/graphic/
- project_image.xpm
-
-Rom 14 Oct 2011
- - MGR: Persist Simple GUI notification dialog size and position
- information.
- - MGR: Remove context menu help buttons from dialog.
-
- clientgui/
- sg_DlgMessages.cpp
-
-David 14 Oct 2011
- - client: show OpenCL version correctly on Win
- lib/
- coproc.cpp
-
-David 14 Oct 2011
- - client: improvements to job scheduling and work fetch policies.
- - Job scheduling: the baseline policy is to schedule based on "project priority",
- which is how much processing P should receive based on resource share
- minus how much it actually has received recently.
- This policy tends to run jobs from the same project together,
- so we modified it by adding a priority adjustment as jobs are scheduled.
- The idea is that if 2 projects have about the same priority
- they should split the processors.
-
- The problem: the adjustment was too large on hosts that are on
- only a small fraction of the time,
- thus tending to run 1 job from each project, regardless of priority.
-
- Solution: make an adjustment that reflects the host's actual throughput.
- See adjust_rec_sched() for details.
-
- - Work fetch: similar situation.
- We were making an adjustment based on how much work the project currently has queued,
- but the adjustment drowned out the project priority,
- so we'd tend to always get work from the project that has least work queued.
- Solution: make a smaller adjustment (-.3 ... .3)
-
- - client: in message announcing app start, show the plan class
-
- - client: don't show "unrecognized XML" messages for account files.
- It's typically project-specific prefs that the client doesn't know about.
-
- client/
- app_start.cpp
- client_state.cpp
- cpu_sched.cpp
- cs_account.cpp
- work_fetch.cpp
+ html/
+ inc/
+ sandbox.inc
+ user/
+ lammps.php
+ submit.php
-David 14 Oct 2011
- - client: bug fix for the above
- client/
- work_fetch.cpp
+Rom 1 Jan 2012
+ - OPS: Update failure_result_summary_by_platform.php to include
+ plan class information.
+ - OPS: Update error code translation table
+
+ html/inc
+ result.inc
+ html/ops
+ failure_result_summary_by_platform.php
-David 14 Oct 2011
- - scheduler: in cuda_check(), ati_check() and opencl_check()
- (in sched_customize.cpp)
- the flops_scale argument is intended to express the
- GPU efficiency (actual/peak).
- Pass appropriate values.
+David 2 Jan 2012
+ - ops: fix link in index page
- sched/
- sched_customize.cpp
- sched_version.cpp
html/
ops/
index.php
- inc/
- db_ops.inc
+ user/
+ sandbox.php
+
+Rom 2 Jan 2012
+ - VBOX: If VirtualBox reports an error snag both the hypervisor system
+ log as well as the VM execution log. Maybe the hypervisor log
+ will tell us what is up with the virtual floppy device.
+ - VBOX: Don't retry commands that are expected to fail in normal use
+ cases. It slows down getting the VM up and running.
+ - VBOX: After starting the VM, use a timed loop waiting for the initial
+ VM state change instead of just waiting for 5 seconds. Older
+ machines can take longer than 5 seconds to switch from poweroff
+ to starting. If we hit the main poll loop in that state the wrapper
+ thinks we have crashed.
+ - VBOX: Strip carriage returns from all the vboxmanage output on
+ Windows.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
-David 16 Oct 2011
- - client simulator: make the output more graphical
+David 2 Jan 2012
+ - client: compute projects' disk share (based on resource share).
+ Report it (along with disk usage) in scheduler request messages.
+ This will allow the scheduler to send file-delete commands
+ if the project is using more than its share.
+ - client: add log flag
+ - create_work: add --help, show --command_line option
+ tools/
+ create_work.cpp
html/
inc/
util.inc
- client/
- sim.cpp
-
-David 17 Oct 2011
- - add boinc_opencl.h to set of installed headers
- - emulator tweaks
- lib/
- Makefile.am
- client/
- sim.cpp
- sim_util.cpp
-
-David 17 Oct 2011
- - client: call xp.skip_unexpected() if get unexpected tag,
- to avoid showing multiple error messages
- - client simulator: bug fixes and tweaks
-
- client/
- client_types.cpp,h
- app.h
- sim.cpp,h
- work_fetch.cpp
- sim_util.cpp
-
-David 17 Oct 2011
- - client: associate a PROJECT with HTTP_OP where applicable,
- so that if you use and filter by project
- you don't see other projects' HTTP stuff
- - client simulator: cc_config.xml is part of the scenario;
- log flags are part of the simulation
-
- client/
- http_curl.cpp,h
- sim.cpp
- work_fetch.cpp
- file_xfer.cpp
- gui_http.cpp
- scheduler_op.cpp
-
-Rom 17 Oct 2011
- - MGR: Make the Default skin loadable from the file system.
- - MGR: Change the in-memory defaults for the skin to be a light-gray
- background.
- - MGR: Change the dots used in the simple gui.
- - MGR: Make the dots used in the simple gui skinable.
- - MGR: Change the 'Project Web Sites' button text to 'Project Web Pages'.
- - MGR: Add a basic 'Default' skin to be included by the various
- installers
- - MGR: Remove a bunch of files that are not used by the default skin
- anymore.
-
- clientgui/res/skins/default/graphic/
-
- clientgui/res/templates/
- dotgreen.gif
- dotred.gif
- dotyellow.gif
- clientgui/
- sg_DlgPreferences.cpp
- sg_ProjectPanel.cpp
- sg_TaskPanel.cpp, .h
- SkinManager.cpp, .h
- clientgui/skins/Default/
- background_image.png
- clientgui/skins/Default/
- skin.xml
-
-David 18 Oct 2011
- - backend API: added function cancel_jobs(minid, maxid)
- for canceling jobs
- - added program cancel_jobs for canceling jobs
- - DB interface: it's not an error if update_fields_noid()
- affects != 1 rows
-
- db/
- db_base.cpp
- tools/
- backend_lib.cpp,h
- cancel_jobs.cpp (new)
- poll_wu.cpp
- Makefile.am
- lib/
- parse.cpp
- py/Boinc/
- setup_project.py
-
-Charlie 18 Oct 2011
- - Mac: Update Mac build scripts, XCode project and source files
- to allow automated builds under OS 10.7 Lion and XCode 4.2.
- - Mac: Build and link jpeglib from boinc/samples/jpeglib instead
- of requiring a separate jpeglib-6b directory.
-
- api/
- gutil.cpp
- gutil_text.cpp
+ user/
+ sandbox.php
lib/
- mac/
- QBackTrace.c
- QCrashReport.c
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- buildc-ares.sh
- buildcurl.sh
- BuildMacBOINC.sh
- buildWxMac.sh
- setupForBOINC.sh
- mac_installer/
- Installer.cpp
- PostInstall.cpp
- samples/
- jpeglib/
- jconfig.h
-
-Rom 18 Oct 2011
- - MGR: More simple GUI text changes
- - MHR: Reduce clutter in log file
-
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_ProjectPanel.cpp, .h
-
-David 18 Oct 2011
- - client: change the way project priorities are computed,
- so that they do what they're supposed to
- (i.e. enforce resource shares)
- - client: change log flag to
- - client simulator: update REC even with large delta-t.
- - client simulator: handle "no new work" apps correctly
-
- api/
- Makefile.am
+ cc_config.cpp,h
client/
- work_fetch.cpp,h
client_types.h
- client_state.cpp
- sim.cpp
- rr_sim.cpp
- sim_util.cpp
+ client_state.h
+ cs_prefs.cpp
+ cs_scheduler.cpp
cpu_sched.cpp
-David 18 Oct 2011
- - client: fix bug that caused extra "<" to get written at
- end of global_prefs_override.xml and cc_config.xml
- when they are modified via GUI RPCs
+David 2 Jan 2012
+ - upgrade script:
+ - prompt user for DB user/passwd if DB updates needed
+ - error out immediately if any DB update fails
+ Fixes #1169, #1170
+ - create_work: check for duplicate s in input template
+ NOTE: the input template syntax is pretty clunky
- client/
- gui_rpc_server_ops.cpp
-
-David 19 Oct 2011
- - client: fix crashing bug when there's a cycle in the process graph.
- I had fixed this in one place but not another.
- - client: don't memset(0,) a PROCINFO; use clear() instead
+ tools/
+ process_input_template.cpp
+ html/
+ ops/
+ upgrade_db.php
+ inc/
+ util_ops.inc
- lib/
- proc_control.cpp
- procinfo_mac.cpp
- procinfo_unix.cpp
- procinfo_win.cpp
-
-Charlie 19 Oct 2011
- - Mac: Update XCode project and Mac build scripts to build
- libboinc_opencl.a library and to work both with XCode 3.2 on
- OS 10.6.8 and with XCode 4.2 on OS 10.7.2.
+Rom 2 Jan 2012
+ - VBOX: Fix crashing issue I introduced last night attempting to
+ extract the hypervisor system log.
+ - VBOX: Report the hypervisor system log with any failed vboxmanage
+ command that happens during the phase where we setup the VM.
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- BuildMacBOINC.sh
-
-Charlie 19 Oct 2011
- - MGR: Replace backup images RedDot16.xpm, YellowDot16.xpm and
- GreenDot16.xpm with XPM files created from Rom's new files
- dotred.gif, dotyellow.gif and dotgreen.gif. These need to
- be cmpiled into the source code as backups in case the GIFs
- are missing, because these images are essential resources.
-
- clientgui/
- res/
- RedDot16.xpm
- YellowDot16.xpm
- GreenDot16.xpm
-
-Charlie 19 Oct 2011
- - MGR: Simple View bug fix.
-
- clientgui/
- sg_TaskPanel.cpp
+ samples/vboxwrapper/
+ vbox.cpp, .h
-Rom 19 Oct 2011
- - MGR: Fix dot images
-
- clientgui/res/skins/default/graphic/
- workunit_running_image.xpm
- workunit_suspended_image.xpm
- workunit_waiting_image.xpm
- clientgui/res/templates/
- dotgreen.gif
- dotred.gif
- dotyellow.gif
+David 3 Jan 2012
+ - remote job submission: show input file links
+ - ops: fix message: app.min_version applies to HR app versions,
+ not client version
-David 19 Oct 2011
- - client simulator: bug fix
+ html/
+ ops/
+ manage_apps.php
+ user/
+ submit.php
+ sandbox.php
- client/
- sim.cpp
- lib/
- parse.cpp
+David 3 Jan 2012
+ - LAMMPS
-Charlie 20 Oct 2011
- - MGR: Replace colored dot GIF files with new PNG files which do
- the anti-aliasing in the alpha channel, so they look correct
- when highlighted on the Mac. Generate new XPM files from
- these PNG files.
-
- clientgui/res/skins/default/
- graphic/
- workunit_running_image.xpm
- workunit_suspended_image.xpm
- workunit_waiting_image.xpm
- skin.xml (added)
- clientgui/res/templates/
- dotgreen.gif (deleted)
- dotred.gif (deleted)
- dotyellow.gif (deleted)
- Green_dot.png (added)
- Red_dot.png (added)
- Yellow_dot.png (added)
+ html/user/
+ lammps.php
-Charlie 20 Oct 2011
- - MGR: Force update of Task Selection List on reskin interface.
-
- clientgui/
- sg_TaskPanel.cpp,h
+David 3 Jan 2012
+ - client: calculate disk share for zero-priority projects correctly
-Charlie 20 Oct 2011
- - MGR: Move skin file to correct place, set background image's
- background color to black for this background_image.png.
-
- clientgui/
- res/skins/default/
- skin.xml (deleted)
- skins/Default/
- skin.xml
-
-David 21 Oct 2011
- - client/API: pass bool using_sandbox in APP_INIT_DATA;
- says whether the client is using account-based sandboxing.
- Needed by vboxwrapper.
- - web: don't show authenticator in Your Account page.
- The problem with authenticators is that if a bad guys gets yours,
- they can log in to your account even if you change your password.
- Eventually we should not use them at all
- (i.e. in cookies and sent to client).
- - make_project: copy python stuff (e.g. bin/start) for web-only projects;
- generate appropriate project.readme file for web-only projects.
+ client/
+ cs_prefs.cpp
- html/inc/
- user.inc
- lib/
- app_ipc.cpp,h
+Rom 3 Jan 2012
+ - client: Remove scaling factor for AMD OpenCL devices. Latest
+ generation of drivers now report the correct memory size.
+ They didn't wait for the next OpenCL spec change.
+
client/
- app_start.cpp
- cs_scheduler.cpp
- tools/
- make_project
- py/Boinc/
- setup_project.py
-
-Charlie 21 Oct 2011
- - MGR: Adjust preference dialog titles, improve Simple View menus
- and other text, make Simple Preferences dialog more like
- Advanced Preferences dialog.
+ coproc_detect.cpp
- clientgui/
- AdvancedFrame.cpp
- DlgAdvPreferencesBase.cpp
- DlgOptions.cpp
- Events.h
- sg_BoincSimpleFrame.cpp,.h
- sg_DlgMessages.cpp,.h
- sg_DlgPreferences.cpp,.h
-
-Rom 21 Oct 2011
- - VBOX: Don't redirect VirtualBox to a different directory structure for
- the root configuration file when the client is NOT in sandbox mode.
- Doing so could cause confusion if the volunteer uses VirtualBox for
- any of their own work. If BOINC started up first it would have appeared
- that their own VM's no longer existed.
+Rom 3 Jan 2012
+ - VBOX: Per tester feedback, at an hourly status report to track
+ network usage.
+ - VBOX: For errors where an error code is specified in the output,
+ use that value when returning from vbm_open(). Make it easier
+ to track failure rates by problem type in the ops pages.
+ (Windows Only)
+ - VBOX: Try making the process of extracting the hypervisor system
+ log more robust, make a temp copy of it in the slot directory.
+ Avoid exclusive file lock issues since VboxSvc will still be
+ logging to it.
+ - VBOX: Change the session lock text to make it clearer that the
+ use of other VirtualBox management tools can cause a problem.
+
samples/vboxwrapper/
- vbox.cpp
+ vbox.cpp, .h
+ vboxwrapper.cpp
-Rom 21 Oct 2011
- - MGR: Make the simple gui rounded edges seem smoother by increasing the
- radius.
- - MGR: Fix project name font in the tasks area, normal size. Increase
- its weight to BOLD.
- - MGR: Make sure the dot is red if the project has been suspended for
- the given task.
+Rom 3 Jan 2012
+ - VBOX: Restore the elapsed time from the checkpoint file instead of
+ aid.starting_elapsed_time. It appears some older client versions
+ are giving erratic results.
- clientgui/
- sg_PanelBase.cpp
- sg_TaskPanel.cpp
+ samples/vboxwrapper/
+ vboxwrapper.cpp
-David 21 Oct 2011
- - scheduler: fix calculation of ATI peak FLOPS;
- older clients don't report have_cal.
+Rom 4 Jan 2012
+ - VBOX: Use strtol instead of atol to parse Vbox error codes from
+ stderr/stdout output.
+ - VBOX: Undo my reorg yesterday with regards to report_vm_pid and
+ report_net_usage.
+ - VBOX: Only report network usage in the status report if
+ aid.global_prefs.daily_xfer_limit_mb is non-zero
+ - VBOX: Add the VM log to the list of things reported on a start
+ failure. Hypervisor log suggests that it launched the VM but
+ it failed unexpectedly. So there might be cases where it
+ actually exists.
- lib/
- coproc.cpp
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
-Rom 21 Oct 2011
- - MGR: Scale background skin so that it now fits in the new simple gui
- NOTE: We are in the process of trying to get new artwork so that we
- can handle the localization issues better.
+Rom 4 Jan 2012
+ - VBOX: Move start state change detection code from run() function to
+ start() function and use similar code to handle stop as well.
+
+ Weird stuff happens when people start/stop BOINC quickly,
+ it looks as though the previous VM instance isn't shutdown before we
+ attempt to start it again. Hopefully enough of a wait is in there
+ for the VM to fully halt before the wrapper is terminated.
- clientgui/skins/Default/
- background_image.png
-
-David 21 Oct 2011
- - fix NVIDIA peak FLOPS
-
- lib/
- coproc.cpp
-
-David 21 Oct 2011
- - update_versions: touch trigger file so that feeder rereads DB
-
- tools/
- update_versions
-
-Charlie 21 Oct 2011
- - MGR: Fix crash bug.
-
- clientgui/
- sg_BoincSimpleFrame.cpp,.h
+ samples/vboxwrapper/
+ vbox.cpp
-Charlie 21 Oct 2011
- - MGR: Fix project name font on Mac, which uses Lucinda Grande font
- not Arial. SetFont for the parent window does not propogate to
- the text controls because CTransparentStaticText uses OnPaint()
- to draw.
-
- clientgui/
- sg_TaskPanel.cpp
+Rom 4 Jan 2012
+ - VBOX: Fix a crash bug if multiple virtual NICs are defined for a VM.
+ I'm not sure what the heck happened. It probably has something to
+ do with my \r removal code on Windows. Bugs hidden by other bugs
+ I suppose.
-Charlie 22 Oct 2011
- - MGR: Bug fix: when the task currently selected in Simple View
- is deleted, change selection to a different task.
-
- clientgui/
- sg_TaskPanel.cpp
+ samples/vboxwrapper/
+ vbox.cpp
-Charlie 23 Oct 2011
- - MGR: Sort Simple View task selection control alphabetically.
+Rom 5 Jan 2012
+ - VBOX: Extract the various logs before attempting to cleanup if the
+ registration process fails.
- clientgui/
- mac/
- MacBitmapComboBox.cpp,.h
- sg_TaskPanel.cpp
-
-Charlie 23 Oct 2011
- - MGR: Reverted the above change because wxBitmapComboBox on Windows
- loses existing items' clientData when we Insert() a new item.
-
- clientgui/
- sg_TaskPanel.cpp
-
-David 23 Oct 2011
- - web: forum RSS shouldn't filter sticky threads.
- Not sure why that was in there.
- html/inc/
- forum_rss.inc
-
-Charlie 24 Oct 2011
- - Mac installer: Fix a very old bug.
-
- mac_build/
- Mac_SA_Secure.sh
-
-David 24 Oct 2011
- - client: reimplement the round-robin simulator to
- reduce its runtime from O(N^2) to O(N),
- where N is the number of runnable jobs
- (which can be in the thousands).
- This will make the client emulator run a lot faster,
- and will reduce the client CPU overhead a bit.
- - API: change boinc_get_opencl_ids() so that it returns
- a BOINC error code (< -100) if the app_init.xml is
- missing or bad (i.e. we're running standalone),
- and an OpenCL error code (> -100) if an OpenCL call failed.
-
- client/
- work_fetch.cpp,h
- client_types.h
- sim.cpp
- rr_sim.cpp
-
-Rom 24 Oct 2011
- - MGR Skins: Fix numerious issues related to bad entries in the Skin XML
- file.
-
- clientgui/
- SkinManager.cpp
- clientgui/skins/GridRepublic/
- skin.xml
- clientgui/skins/Progress Thru Processors/
- skin.xml
+ samples/vboxwrapper/
+ vboxwrapper.cpp
-David 24 Oct 2011
- - API: compile fixes for MinGW. From Oliver Bock.
+David 5 Jan 2012
+ - GUI RPC: use new XML parser
lib/
- win_util.h
- boinc_win.h
- proc_control.h
- Makefile.mingw
- parse.h
-
-Charlie 25 Oct 2011
- - MGR: Sort Simple View task selection control alphabetically.
- Subclassed CBOINCBitmapComboBox from wxBitmapComboBox to work
- around clientData bug in wxBitmapComboBox::Insert().
-
- clientgui/
- BOINCBitmapComboBox.cpp,.h (added)
- mac/
- MacBitmapComboBox.cpp,.h
- sg_PanelBase.h
- sg_ProjectPanel.cpp
- sg_TaskPanel.cpp,.h
- win_build/
- boincmgr.vcproj
-
-Charlie 25 Oct 2011
- - MGR: Allow skin to specify the (simulated) opacity of Simple View
- task and project panels on a scale of 0 (clear) to 255 (opaque).
-
- clientgui/
- sg_PanelBase.cpp
- SkinManager.cpp,.h
-
-Rom 25 Oct 2011
- - Tag for 6.13.9 release, all platforms
- boinc_core_release_6_13_9
-
- /
- configure.ac
- version.h
-
-David 25 Oct 2011
- - web: typo in forum RSS from Daniel L G; fixes #1147
- - client: message tweak
-
- html/inc/
- forum_rss.inc
- client/
- cpu_sched.cpp
-
-David 25 Oct 2011
- - scheduler: fix bug in the "homogeneous app version" (HAV) feature
- (reported by Kevin Reed).
- The problem: cache inconsistency.
- If there are 2 results for the same WU in shared mem,
- and 2 scheduler instances get them around the same time,
- they can send them with different app versions.
- We already fixed this problem for HR by
- 1) rereading the relevant WU fields while deciding
- whether to send the result
- 2) doing a "careful update" of the WU field using a where clause
- to make sure it wasn't modified in the (short) interval
- since rereading it.
- I fixed the HAV problem in the same way,
- and merged the two mechanisms to combine the DB queries.
-
- Also:
- - The rereads are done in slow_check() (see below).
- - The careful updates are done in update_wu_on_send(),
- and this is called *before* doing careful updates on result fields.
- That way, if the WU updates fail, we don't have orphaned results.
- - already_sent_to_different_platform_careful() (sic)
- no longer does DB stuff, so it's merged with
- already_send_to_different_hr_class() (better name)
-
- NOTE: slow_check() is used in array scheduling only.
- Score-based scheduling uses other code,
- in which this bug is not yet fixed.
- Locality scheduling doesn't support HR or HAV at all.
- This should be unified.
-
- db/
- db_base.cpp,h
- sched/
- sched_hr.cpp,h
- sched_array.cpp
- sched_send.cpp
- sched_score.cpp
-
-Charlie 26 Oct 2011
- - Mac: Modify XCode project to link with libcrypto.0.9.7.dylib and
- libssl.0.9.7.dylib if OS 10.5 SDK is present, to allow running
- BOINC on OS 10.4 and later. If OS 10.5 SDK is not present then
- it will link with libcrypto.0.9.8.dylib and libssl.0.9.87.dylib
- and product will require OS 10.6 or later.
- (Checked into 6.13.9 tag.)
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
+ gui_rpc_client_ops.cpp
-Charlie 26 Oct 2011
- - Mac: Update build instructions for client and libraries.
- - Mac installer: fix bugs when installing under OS 10.5.
- - Mac installer: Update release script to include Default skin.
- (All checked into 6.13.9 tag.)
+Charlie 5 Jan 2012
+ - client: Restore scaling factor for AMD OpenCL devices on Macs with
+ OpenCL version < 1.2.
- mac_build/
- HowToBuildBOINC_XCode.rtf
- mac_installer/
- postInstall
- PostInstall.cpp
- release_boinc.sh
-
-David 26 Oct 2011
- - scheduler: tweaks to last night's checkin.
- In the inner loop of scan_work_array() there are two WORKUNITs:
- - the one that's part of wu_result (in the shared-mem array)
- - a temp copy.
- quick_check() may modify this in host-specific ways
- (e.g., adjusting rsc_fpops_est or delay_bound).
- This is the one we pass to add_result_to_reply().
- When we reread hr_class and app_version_id from the DB,
- update both structs.
-
- sched/
- sched_array.cpp
- sched_send.cpp
-
-David 26 Oct 2011
- - client: fix typo in project parse code
-
- client/
- client_types.cpp
-
-David 26 Oct 2011
- - scheduler: typo in a SQL query
-
- sched/
- sched_send.cpp
-
-David 26 Oct 2011
- - web: fix typo that failed to show ATI GPUs in top-GPU page
-
- html/user/
- gpu_list.php
-
-David 26 Oct 2011
- - client: smoothed working-set size wasn't being computed correctly.
- It was always just the most recent size.
-
- sched/
- sched_util.cpp
- sample_work_generator.cpp
- lib/
- procinfo.h
client/
- app.cpp
-
-David 26 Oct 2011
- - scheduler: bug fix from Kevin
-
- sched/
- sched_send.cpp
+ coproc_detect.cpp
-Charlie 27 Oct 2011
- - Mac installer: Update release script to create projects/virtualbox/
- directory, to ensure it has the correct owner and permissions
- because vboxwrapper does not have sufficient privileges to do so.
+Charlie 6 Jan 2012
+ - Mac Installer: Changes for integrated BOINC+VirtualBox Mac installer.
+ clientgui/
+ mac/
+ SetVersion.cpp
mac_installer/
+ Description.plist
+ Installer.cpp
release_boinc.sh
-Rom 27 Oct 2011
- - Tag for 6.13.10 release, all platforms
- boinc_core_release_6_13_10
-
- /
- configure.ac
- version.h
-
-Charlie 28 Oct 2011
- - Mgr: Exit manager as soon as quit rpc to client succeeds, instead
- of waiting for client to exit.
- (Checked in to 6.13.10 for Mac build only.)
-
- The problem: if suspended tasks are kept in memory, some project
- applications don't respond to exit request from client, but client
- needs to allow 20 seconds before killing them in case they are
- writing a large checkpoint file. But if the manager waits that
- long to exit, it seems unresponsive to users, so it was killing
- the client after only 10 seconds. This left orphan project apps
- in RAM.
-
- The solution: assume that if the quit rpc to the client succeeds,
- the client will exit properly, so kill client only if RPC fails
- or is not completed in 10 seconds.
+Rom 6 Jan 2012
+ - MGR: Remove sash window divider between the task panel and list panel
+ in the advanced view. Retain the ability to dynamically adjust the
+ width of the task panel based on widest button.
+ - LIB: Use parse string instead of copy contents for messages RPC.
clientgui/
- BOINCClientManager.cpp
- BOINCGUIApp.cpp,.h
-
-David 28 Oct 2011
- - GUI RPC client: parse the reply of quit(),
- so that it returns an error if no response
-
+ BOINCBaseView.cpp, .h
+ ViewNotices.cpp
+ ViewResources.cpp
+ ViewStatistics.cpp
lib/
gui_rpc_client_ops.cpp
-David 28 Oct 2011
- - web: Display AMD GPU info correctly. From Teemu Mannermaa.
-
- html/inc/
- host.inc
+Rom 6 Jan 2012
+ - VBOX: Use sscanf instead of strtol to convert a hex string.
+ - VBOX: Use new FloppyIO implementation that reports image
+ creation errors.
-Charlie 29 Oct 2011
- - Mgr: Code cleanup.
-
- clientgui/
- BOINCClientManager.cpp,.h
- BOINCGUIApp.cpp,.h
- MainDocument.cpp
+ samples/vboxwrapper/
+ floppyio.cpp, .h
+ vbox.cpp
-David 29 Oct 2011
- - lib: fix a "strcpy(p, p+1)" instance
+David 6 Jan 2012
+ - manager: parse message contents with XML_PARSER::element_content().
lib/
- url.cpp
+ gui_rpc_client_ops.cpp
-Charlie 31 Oct 2011
- - api: Update comments, remove unused includes for boinc_opencl.a.
-
- api/
- boinc_opencl.cpp
+David 6 Jan 2012
+ - validator: for credit_from_runtime,
+ use result.flops_estimate rather than host.p_fpops;
+ otherwise it doesn't work for multicore apps.
+ TODO: cheat-proofing
+
+ sched/
+ validator.cpp
+ html/user/
+ forum_thread.php
-David 2 Nov 2011
- - API: fix bug in boinc_get_opencl_ids()
- - add simulator for distributed storage (not finished)
+Rom 6 Jan 2012
+ - MGR: Derive from the correct base class to make the sizers work
+ properly.
+
+ clientgui/
+ BOINCBaseView.cpp, .h
+ ViewNotices.cpp
+ ViewResources.cpp
- api/
- boinc_opencl.cpp
- client/
- app_start.cpp
- ssim/
- des.h
- ssimp.cpp
- makefile
+Rom 7 Jan 2012
+ - VBOX: Sleep for the remainder of the polling period and not the
+ whole poll period.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp, .h
-David 2 Nov 2011
- - server: plan class names containing 'nvidia' or 'cuda'
- are assumed to be for NVIDIA GPU apps;
- plan class names containing 'ati' are assumed to be for AMD GPU apps.
- Clauses for 'nvidia' were missing in a couple of places.
+David 7 Jan 2012
+ - scheduler: change vbox_mt app plan function to use 1, 2 or 3 CPUs
+ depending on how many the host has,
+ and whether CPU VM extensions are present
+ (this reflects the requirements of CernVM).
+ db/
+ boinc_db.h
sched/
+ sched_types.h
sched_customize.cpp
- sched_version.cpp
- html/inc/
- util.inc
- lib/
- gui_rpc_client_ops.cpp
-
-David 2 Nov 2011
- - scheduler: in update_wu_on_send(), always try to update
- the hr_class and app_version_id fields,
- with the where clause that they be either zero or the target value.
- This handles the cases where
- 1) because of the failure of a results, the transitioner set
- the field back to zero;
- 2) another scheduler set the field to the target value
- (from Kevin Reed)
+ validator.cpp
- sched/
- sched_send.cpp
- client/
- makefile_sim
+Rom 8 Jan 2012
+ - VBOX: Fix regression where the ERR_CPU_VM_EXTENSIONS_DISABLED error
+ message wasn't being written to stderr when the VM extensions
+ were disabled via the BIOS.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
-David 2 Nov 2011
- - feeder: fix logic error in the way app_version.pfc_scale is updated
- (from Kevin Reed)
+David 8 Jan 2012
+ - scheduler: change vbox_mt plan function to use at most 2 cores, not 3
+ (CERN doesn't actually need 3)
sched/
- credit.cpp
+ sched_customize.cpp
-Charlie 3 Nov 2011
- - api: Restore lost checkin of 31 October 2011.
- - Mac installer: update ReadMe files for BOINC 6.13.x.
-
- api/
- boinc_opencl.cpp
- mac_installer/
- CE-ReadMe.rtf
- GR-ReadMe.rtf
- PTP-ReadMe.rtf
- ReadMe.rtf
-
-David 3 Nov 2011
- - client: fix bugs when writing/parsing cc_config.xml via GUI RPCs
- (e.g. when editing it via the Manager).
- Include only the GPUs that were specified in the original cc_config.xml,
- not those detected by the client.
- - client: fix bug that failed to require authorization for
- GUI RPCs that are supposed to be authorized
- - client: report parse errors in acct_mgr_url.xml and acct_mgr_login.xml
- - fix compile warnings
- - user web: in sample project_specific_prefs.inc,
- get app names from the DB instead of listing them in the PHP code.
+David 8 Jan 2012
+ - client: reset ACTIVE_TASK::bytes_sent and bytes_received
+ when the task is started or restarted
- html/project.sample/
- project_specific_prefs.inc
- lib/
- coproc.h
- cc_config.cpp
client/
- switcher.cpp
- coproc_detect.cpp
- gui_rpc_server_ops.cpp
- acct_mgr.cpp
- app.cpp
- cpu_sched.cpp
-
-David 3 Nov 2011
- - wrapper: handle Windows .bat files as main programs
-
- samples/wrapper/
- wrapper.cpp
-
-David 3 Nov 2011
- - client: show GPU exclusions at startup
- (need to do this after reading the state file,
- since GPU exclusions refer to projects).
- - client: fix bug that added garbage element
- to in state file when using GPU exclusions
+ app_start.cpp
+Charlie 9 Jan 2012
+ - client: OpenCL 1.1 has no API for determining available GPU RAM, so if
+ CAL is not present for ATI / AMD GPU or if CUDA is not present for
+ NVIDIA GPU, set available GPU RAM equal to total GPU RAM.
+
client/
- client_types.cpp
- client_state.cpp
- log_flags.cpp
+ coproc_detect.cpp
-David 4 Nov 2011
- - client: fix work fetch bug.
- If we're contacting a project to report results,
- only piggyback work requests for resources for which
- that project is the highest priority that may have work.
- - client: compute result.not_started more efficiently
+Rom 9 Jan 2012
+ - VBOX: Fix one last regression related to failed start detection. If
+ only one CPU is allocated, manually disable VM hardware acceleration.
+
+ samples/vboxwrapper/
+ vbox.cpp
- TODO: continue efficiency work. There's still some quadratic stuff
+David 9 Jan 2012
+ - scheduler: the p_fpops value reported by clients can't be trusted.
+ Some credit cheats (e.g. with credit_by_runtime) can be done
+ by reporting a huge value.
+ Fix this by capping the value at 1.1 times the 95th percentile
+ of host.p_fpops, taken over active hosts.
- client/
- client_types.cpp,h
- client_state.cpp
- sim.cpp
- work_fetch.cpp
- cpu_sched.cpp
+ db/
+ boinc_db.cpp,h
+ sched/
+ census.cpp
+ sched_types.cpp,h
+ sched_shmem.cpp,h
+ sched_util.cpp,h
+ sched_customize.cpp
+ feeder.cpp
+ sched_version.cpp
+ hr_info.cpp,h
-Charlie 5 Nov 2011
- - client: Fix compile error.
+Charlie 10 Jan 2012
+ - client: Fix idle detection for Apple Remote Desktop and screen sharing
+ (VNC) under Mac OS 10.7. See comments in HOST_INFO::users_idle() for
+ details.
client/
- cs_scheduler.cpp
+ hostinfo_unix.cpp
-Charlie 5 Nov 2011
- - Mac: add -Wno-format-security compiler flag to suppress warning
- that format string is not a string literal in code to show
- messages from server in CLIENT_STATE::handle_scheduler_reply().
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
+David 10 Jan 2012
+ - first stab at improving Disk View colors
-Charlie 5 Nov 2011
- - client: fix errors in (currently unused) get_max_cpu_temperature()
- code for Macintosh.
+ clientgui/
+ ViewResources.cpp
- client/
- hostinfo_unix.cpp
+Charlie 11 Jan 2012
+ - Mgr: When launching Mac client as a daemon, allow time for it to start.
-David 4 Nov 2011
- - client: fix compile warning
- client/
- cs_scheduler.cpp
+ clientgui/
+ BOINCClientManager.cpp
-David 4 Nov 2011
- - client: attempt to fix bug reported by John McLeod,
- where the client crashes after giving up (90 day timeout) on an upload.
- I'm guessing this was caused by [24391],
- which changed the order in the poll loop from
- garbage_collect
- file_xfers->poll
- pers_file_xfers->poll
- handle_pers_file_xfers
- to
- garbage_collect
- handle_pers_file_xfers
- file_xfers->poll
- pers_file_xfers->poll
- I don't understand why this would have caused a crash,
- but so be it.
- I restored the original order, but with handle_pers_file_xfers
- not inside the if (!network_suspended).
- - client renamed handle_pers_file_xfers() to
- create_and_delete_pers_file_xfers()
- - client simulator: show simulator CPU time
+David 11 Jan 2012
+ - vboxwrapper: add element to config file.
+ Specifies host port # for port forwarding.
+ If absent or zero, assign a port.
- client/
- client_state.cpp
- sim.cpp
- client_state.h
- pers_file_xfer.cpp
- cs_files.cpp
+ samples/vboxwrapper
+ vbox.cpp,h
+ floppyio.cpp,h
+ vboxwrapper.cpp
-Charlie 5 Nov 2011
- - Mac: remove -Wno-format-security compiler flag (no longer needed).
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
+David 11 Jan 2012
+ - API: respect direct_process_action even if multi_process is set
-David 5 Nov 2011
- - scheduler: fix bug in HR code (from Kevin)
+ api/
+ boinc_api.cpp
- sched/
- sched_send.cpp
+David 12 Jan 2012
+ - LAMMPS job submission: improve completion estimate
-David 5 Nov 2011
- - client: don't crash if trickle up exceeds 64KB
- (this bug was introduced Sept 20)
- - scheduler: truncate long trickle-ups to 256KB; don't crash
+ html/
+ inc/
+ boinc_db.inc
+ user/
+ lammps.php
- db/
- db_base.cpp,h
- client/
- cs_trickle.cpp
+Rom 12 Jan 2012
+ - VBOX: Enable remote desktop functionality for a VM that has
+ specified in its vbox_job.xml file.
+
+ NOTE: It does require the VirtualBox extension pack, but that
+ is freely available on the VirtualBox download page.
+
+ samples/vboxwrapper
+ vbox.cpp, .h
+ vboxwrapper.cpp, .h
-David 6 Nov 2011
- - client: actually do the checking described above
+Rom 12 Jan 2012
+ - VBOX: Report the remote desktop connection information to the
+ core client. Next commit will create an extra "VM Console"
+ button in the manager when detected. Volunteers will just have
+ to click the button to see what is going on with the VM.
- client/
- cs_trickle.cpp
+ api/
+ boinc_api.cpp, .h
+ samples/vboxwrapper
+ vbox.cpp, .h
+ vboxwrapper.cpp, .h
-David 6 Nov 2011
- - client: don't crash if a project sends app_version.flops = 0.
+Rom 12 Jan 2012
+ - client: Add plumbing to support passing the remote desktop
+ connection information to the manager
+ - MGR: Add a "Show VM Console" button for those tasks which
+ report a remote desktop port number.
client/
- client_types.cpp
- rr_sim.cpp
-
-Charlie 7 Nov 2011
- - Mgr: Bug fix.
-
+ app.cpp, .h
+ app_control.cpp
clientgui/
- BOINCGUIApp.cpp
+ Events.h
+ MainDocument.cpp, .h
+ ViewWork.cpp, .h
+ lib/
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
-David 7 Nov 2011
- - manager: apparently WxWidget's combo box has problems (bugs)
- if multiple items have the same string.
- So, in simple view task combo box:
- - show % done (unique in most cases)
- - remove version number
- - instead of showing plan class, show "NVIDIA GPU" or "ATI GPU"
- TODO: update the fraction done
+Rom 12 Jan 2012
+ - VBOX: Make sure the configured port numbers persist across
+ restarts of the client software. Remote desktop stopped
+ working if the client software was restarted.
- clientgui/
- sg_TaskPanel.cpp
+ samples/vboxwrapper
+ vboxwrapper.cpp
-David 7 Nov 2011
- - client: condition RR sim negative FLOPs message on rr_simulation.
+Charlie 13 Jan 2012
+ - client: Due to my changes of 10 Jan 2012, idle detection did not work
+ when BOINC was run as a pre-login daemon. So use the old method
+ when running as a daemon. This means that idle detection for Apple
+ Remote Desktop and screen sharing (VNC) under Mac OS 10.7 works only
+ when not running BOINC as a daemon.
client/
- rr_sim.cpp
+ hostinfo_unix.cpp
-Rom 7 Nov 2011
- - client: reduce complexity, possibly get rid of a crash condition
- on 64-bit Windows.
-
- client/
- cs_prefs.cpp
+Rom 13 Jan 2012
+ - VBOX: Cleanup a few messages stating port numbers in the stderr spew.
+ - VBOX: Send configuration settings in one message instead of piece meal.
+
+ api/
+ boinc_api.cpp, .h
+ samples/vboxwrapper
+ vboxwrapper.cpp
-Rom 7 Nov 2011
- - MGR: Change default skin to the one Jacob Klein purposed.
+Rom 13 Jan 2012
+ - VBOX: It helps to remove the older send msg routines. Oooops.
- clientgui/res/templates/
-
- clientgui/skins/Default/
- background_image.png
- skin.xml
- workunit_running_image.png
- workunit_suspended_image.png
- workunit_waiting_image.png
-
-David 7 Nov 2011
- - client: on transient upload failure, don't do start_xfer()
- within PERS_FILE_XFER::transient_failure();
- we're about to delete and free the FILE_XFER.
- The transfer will be restarted in the next poll.
+ samples/vboxwrapper
+ vboxwrapper.cpp
- client/
- pers_file_xfer.cpp
+David 13 Jan 2012
+ - API: fix queueing problem for graphics-related messages
+ (web graphics URL and remote desktop addr)
+ - GUI RPC and API:
+ change "remote_desktop_connection" to "remote_desktop_addr" everywhere.
+ It's an address, not a connection.
+ - vboxwrapper: log message cleanup
-Charlie 8 Nov 2011
- - Mgr: Fix Simple View layout to fit 3 decimal places for % done.
+ api/
+ boinc_api.cpp,h
+ client/
+ app.cpp,h
+ app_control.cpp
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+ app_ipc.cpp,h
+ samples/
+ vboxwrapper.cpp
+Rom 13 Jan 2012
+ - MGR: Add RDP client support for Linux.
+
clientgui/
- sg_TaskPanel.cpp
+ MainDocument.cpp
-Charlie 8 Nov 2011
- - Mac installer: fixes for OS 10.4 compatibility.
+David 13 Jan 2012
+ - file deleter: improved logging; from Oliver
- mac_installer/
- PostInstall.cpp
+ sched/
+ file_deleter.cpp
-Rom 8 Nov 2011
- - API: Remove exception trapping stuff from the
- boinc_get_opencl_ids.
+Rom 13 Jan 2012
+ - MGR: Launch the RDP client on Windows in full-screen mode to avoid
+ a bug where the screen doesn't refresh and keyboard/mouse events
+ don't manifest until you close down the client and restart it.
- api/
- boinc_opencl.cpp
-
-David 8 Nov 2011
- - DB: use %u when writing result IDs in SQL queries;
- this is to support SETI@home, which ran out of result IDs
- and changed the DB field type to int unsigned.
- Note: eventually I'll make this change official
- and change the .h types as well.
- - web: put tags around elements
- in project-specific prefs.
+ clientgui/
+ MainDocument.cpp
- db/
- boinc_db.cpp
- db_base.cpp
- sched/
- sched_send.cpp
- html/project.sample/
- project_specific_prefs.inc
+Charlie 13 Jan 2012
+ - MGR: Add RDP client support for the Mac. I have found no reliable way
+ to pass the IP address and port to Microsoft's Remote Desktop
+ Connection application for the Mac, so I'm using CoRD. Unfortunately,
+ CoRD does not seem to be as reliable as I would like either.
+
+ clientgui/
+ MainDocument.cpp
-Charlie 9 Nov 2011
- - Mgr: to fix Windows combo box problem when multiple items have
- the same string, add spaces to identical application names in
- Task Selection control as needed to make each entry unique.
- Don't append % done to Task Selection control entries, as that
- varies over time, causing significant complications.
+Rom 13 Jan 2012
+ NOTE: Some previously experimental features in the client software are
+ now important to have for the 7.0 release. The existing 7.0 branch
+ will no longer be maintained, we'll create a new branch for the 7.0
+ client line at a later date.
+
+ - Tag for 7.0.8 release, all platforms
+ boinc_core_release_7_0_8
- clientgui/
- sg_TaskPanel.cpp
+ /
+ configure.ac
+ version.h
-Rom 9 Nov 2011
- - WINSCR: Add a reference to SCRAPPERR_BOINCNOGRAPHICSAPPSEXECUTING
- in the message lookup table.
-
- clientscr/
- screensaver_win.cpp
+David 13 Jan 2012
+ - The zip library was moved to a directory (project_depends)
+ outside of BOINC, but the build files weren't made to work.
+ Move the library back where it was before.
-Rom 9 Nov 2011
- - WINSCR: In the ResetProc message pump, change the call for CloseWindow()
- to DestroyWindow().
-
- clientscr/
- screensaver_win.cpp
+ configure.ac
+ Makefile.am
+ zip/*
-Rom 9 Nov 2011
- - WINSCR: Sync up the timer IDs.
-
- clientscr/
- screensaver_win.cpp
+David 13 Jan 2012
+ - GUI RPC: add tag to the start of HTTP replies.
+
+ client/
+ gui_rpc_server_ops.cpp
-David 9 Nov 2011
- - server: more fixes to DB to handle unsigned result IDs
+David 14 Jan 2012
+ - client: identify ATI 97x0 GPUs (from Jord)
- db/
- boinc_db.cpp
+ client/
+ coproc_detect.cpp
-Jeff 9 Nov 2011
- - server: more fixes to DB to handle unsigned result IDs
+David 14 Jan 2012
+ - GUI RPC client: don't write spurious messages to stderr
- sched/
- feeder.cpp
- sched_shmem.cpp
- db_purge.cpp
- sched_assign.cpp
lib/
- parse.cpp
+ gui_rpc_client_ops.cpp
-David 9 Nov 2011
- - OpenCL API: fix logic error
+Rom 14 Jan 2012
+ - VBOX: Fix regression where the vm_name wasn't reset back to the
+ current wu name after deregistering a stale VM.
- api/
- boinc_opencl.cpp
+ samples/vboxwrapper
+ vbox.cpp, .h
+ vboxwrapper.cpp
-David 9 Nov 2011
- - OpenCL API: check return value from clGetDeviceIDs()
+Rom 15 Jan 2012
+ - VBOX: Add User ID and Host ID to the CERN data format.
- api/
- boinc_opencl.cpp
+ samples/vboxwrapper
+ vboxwrapper.cpp
-David 9 Nov 2011
- - scheduler: compute result.report_deadline BEFORE passing it
- as an arg to update_wu_on_send()
+Rom 15 Jan 2012
+ - MGR: Use rdesktop-vrdp on Linux, it is included with VirtualBox
+ and meant for what we are trying to do.
+ - MGR: Remove the fullscreen flag on Windows. It might only be
+ my machine which has refresh problems when launching in
+ windowed mode.
+
+ clientgui/
+ MainDocument.cpp
- sched/
- sched_send.cpp
+David 15 Jan 2012
+ - optimize strip_whitespace(); from Steffen Moller
+ - storage simulator: generalize so you can use different
+ coding parameters at different levels
-Charlie 9 Nov 2011
- - WINSCR: Fix compile error.
-
- clientscr/
- screensaver_win.cpp
+ lib/
+ str_util.cpp
+ ssim/
+ ssim.cpp
-Rom 10 Nov 2011
- - WINSCR: Attempt to gracefully shutdown a graphics application first
-
- clientscr/
- screensaver.cpp
+David 15 Jan 2012
+ - storage simulator: compute fault tolerance correctly
-Rom 10 Nov 2011
- - client & lib: Update the OpenCL header to include calling conventions
- and weak link information for Mac machines.
+ ssim/
+ ssim.cpp
+Charlie 16 Jan 2012
+ - client, lib: Improve available GPU RAM detection, include it in
+ display of GPU description.
+
+ client/
+ coproc_detect.cpp
lib/
- cl_boinc.h
+ coproc.cpp,.h
+
+Charlie 16 Jan 2012
+ - client: Add logging message for insufficient GPU RAM details to
+ coproc_debug flag.
+
+ client/
+ cpu_sched.cpp
-Rom 10 Nov 2011
- - Tag for 6.13.11 release, all platforms
- boinc_core_release_6_13_11
+Rom 16 Jan 2012
+ - Tag for 7.0.9 release, all platforms
+ boinc_core_release_7_0_9
/
configure.ac
version.h
-Charlie 9 Nov 2011
- - MGR: On Mac, work around bug in XCode 4.2 by accepting and ignoring
- command line argument "-NSDocumentRevisionsDebugMode=YES"
- - client: On Mac, work around bug in XCode 4.2 by accepting and ignoring
- command line argument "-NSDocumentRevisionsDebugMode=YES"
- (checked into 6.13.11 tag)
+Charlie 17 Jan 2012
+ - Mac: In permissions error alert: show branded name; if permissions
+ error is in a subdirectory, show path to bad file or subdirectory.
client/
- cs_cmdline.cpp
+ check_security.cpp
+ sandbox.h
clientgui/
BOINCGUIApp.cpp
+ mac_installer/
+ PosInstall.cpp
-Charlie 11 Nov 2011
- - Mgr: fix a bug deleting entries from Task Selection control which I
- introduced on 9 November. Deleting an entry cvan create a gap in
- the alphabetically sorted sequence, so we can't use my earlier
- shortcut in checking for existing entries.
- - Mgr: If a slide show has only one slide, load it only once.
-
- clientgui/
- sg_TaskPanel.cpp
-
-David 11 Nov 2011
- - client: check return value of FILE_REF when parse project file.
- Fixes crashing bug.
-
+Charlie 17 Jan 2012
+ - client: Save all CUDA and CAL GPU info until done with OpenCL detection
+ so we have available GPU RAM for all OpenCL GPU descriptions.
+
client/
- client_types.cpp
- ssim/
- ssim.cpp
+ coproc_detect.cpp
-Rom 11 Nov 2011
- - MGR: Update default skin to v4.
-
- clientgui/res/templates/
-
- clientgui/skins/Default/
- background_image.png
- skin.xml
- workunit_running_image.png
- workunit_suspended_image.png
- workunit_waiting_image.png
-
-Rom 11 Nov 2011
- - Tag for 6.13.12 release, all platforms
- boinc_core_release_6_13_12
+Charlie 17 Jan 2012
+ - Tag for 7.0.10 release, all platforms
+ boinc_core_release_7_0_10
/
configure.ac
version.h
-Charlie 11 Nov 2011
- - Mac installer: There can now be multiple instances of the Manager
- running, so shut them all down.
-
- mac_installer/
- PostInstall.cpp
-
-David 13 Nov 2011
- - client/scheduler:
- If the file "client_opaque.txt" exists on the client,
- include its contents in scheduler request messages.
- On the scheduler, parse this into SCHEDULER_REQUEST::client_opaque,
- where it can be used by the customizable scheduler functions.
-
- sched/
- sched_types.cpp,h
- client/
- file_names.h
- cs_scheduler.cpp
-
-Charlie 14 Nov 2011
- - Mgr: Don't call Simple View specific periodic RPCs when BOINC is
- hidden or minimized.
-
- clientgui/
- MainDocument.cpp
+Rom 17 Jan 2012
+ - VBOX: Fix a regression I introduced on Saturday, is_vm_registered shouldn't
+ be called when vm_name is empty. Change it so that is references
+ vm_master_name instead to get the correct name of the VM.
+ - VBOX: Fix the logic that scan for the CR character and removes it. Also fix
+ the partial line inclusion when the various log files are greater than 16k.
+ string.erase returns what the iterator value should be.
+
+ samples/vboxwrapper
+ vbox.cpp
-David 14 Nov 2011
- - client: show error messages (as notices) when get an error
- parsing cc_config.xml
- - client: if an element in cc_config.xml
- specifies a nonexistent app, show an error msg with
- a list of existing app names
- - web: increase the default mem limit from 64MB to 256MB
- TODO: change user_hosts.php to show N at a time
+David 17 Jan 2012
+ - storage simulator work
+ - lib: recent checkin broke strip_whitespace(string&).
- html/inc/
- util.inc
+ ssim/
+ ssim.cpp
+ plot
+ ssim.php
lib/
- cc_config.cpp,h
- client/
- log_flags.cpp
-
-David 14 Nov 2011
- - client: improve messages for the above
-
- client/
- log_flags.cpp
-
-David 14 Nov 2011
- - scheduler: increase buffer for global prefs from 8K to 64K
- - lay the groundwork for changing it to std::string
+ str_util.cpp
- sched/
- sched_types.cpp
- lib/
- parse.cpp,h
+David 18 Jan 2012
+ - web: link between LAMMPS job submission page and file sandbox page
-Charlie 14 Nov 2011
- - Mgr: In CSimpleTaskPanel, change name of Update() to UpdatePanel()
- to fix compiler warning about overloading wxWindow::Update().
-
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_TaskPanel.cpp,.h
+ html/user/
+ lammps.php
+ sandbox.php
-Charlie 14 Nov 2011
- - MGR: Limit change of 9 November to only Debug builds: accept and
- ignore command line argument "-NSDocumentRevisionsDebugMode=YES"
+Charlie 18 Jan 2012
+ - client: add debugging aids to coproc_detect logic.
+
+ client/
+ coproc_detect.cpp
- clientgui/
- BOINCGUIApp.cpp
+Charlie 18 Jan 2012
+ - Tag for 7.0.11 release, all platforms
+ boinc_core_release_7_0_11
-David 14 Nov 2011
- - client: add some missing items to CONFIG::parse_options_client().
+ /
+ configure.ac
+ version.h
+Charlie 18 Jan 2012
+ - client: ATI available RAM is in bytes, not MB; if no CAL, don't divide
+ OpenCL global_mem_size by MEGA to fill in ATI available RAM.
+ (Checked in to 7.0.11 tag.)
+
client/
- log_flags.cpp
- pers_file_xfer.cpp
+ coproc_detect.cpp
-Charlie 16 Nov 2011
- - MGR: use wxBitmapComboBox insert() and append() calls without
- client data argument instead of passing NULL.
-
- clientgui/
- BOINCBitmapComboBox.cpp
+Rom 18 Jan 2012
+ - VBOX: Fix another issue that was a result of Saturdays commit. Make
+ sure that the vm_name variable is populated with something useful if
+ resuming from a previous execution of the wrapper.
+
+ samples/vboxwrapper
+ vbox.cpp
-Charlie 17 Nov 2011
- Remove include of boinc_cl.h from parse.h; it is no longer needed.
- Remove Mac Availability Macro and weak-link support from cl_boin.ch
- as it prevented building BOINC libraries under OS 10.5.
-
- lib/
- cl_boinc.h
- parse.h
+David 18 Jan 2012
+ - WAP interface to credit info: return correct timestamp,
+ and don't bother with caching.
-Charlie 19 Nov 2011
- - MGR: Fix button font sizes in Simple View Projects panel.
-
- clientgui/
- sg_ProjectPanel.cpp
+ html/
+ inc/
+ wap.inc
+ user/
+ userw.php
-David 20 Nov 2011
- - client: on network_available() GUI RPC,
- clear project-level upload and download backoffs,
- as well as RPC and individual xfer backoffs.
- This was an oversight.
+Rom 18 Jan 2012
+ - VBOX: Use the documented way to reset the UUID of a virtual hard
+ disk. Thanks Daniel.
+
+ samples/vboxwrapper
+ vbox.cpp
- client/
- client_types.h
- net_stats.cpp
+David 18 Jan 2012
+ - Manager: in project web links, use "Home Page" instead of the
+ project name (which could be very long)
-Charlie 20 Nov 2011
- - MGR: Hide slideshow subpanel if no slides for current task.
-
clientgui/
- sg_TaskPanel.cpp
-
-Charlie 21 Nov 2011
- - MGR: In Simple View, draw Mac progress bar on white background for
- better visibility; adjust red New Notices ring for new button
- shapes if on Mac OS 10.7.
+ BOINCBaseView.cpp
- clientgui/
- sg_BoincSimpleFrame.cpp,.h
- sg_PanelBase.cpp
- sg_TaskPanel.cpp
-
-Rom 21 Nov 2011
- - MGR: const fixes for platform bitmaps.
- (From: Steffen Möller)
- - MGR: Add trace statements to help track down RemoveAt bug
- - MGR: Remove static var guard, may not be needed with the SetDlgOpen()
- routines blocking timer based updates. If there is a buffer overrun
- hopefully it'll manifest itself in a detectable way.
-
- clientgui/res/
- linuxicon.xpm
- macosicon.xpm
- windowsicon.xpm
- clientgui/
- sg_BoincSimpleFrame.cpp
- sg_TaskPanel.cpp
+David 19 Jan 2012
+ - client: parse HOST_INFO::p_vm_extensions_disabled correctly
-Rom 21 Nov 2011
- - MGR: Prevent crash, check returned pointer of menu entry.
+ lib/
+ hostinfo.cpp
+ proxy_info.cpp
+ gui_rpc_client_ops.cpp
+ coproc.cpp
+ version.h
+ ssim/
+ ssim.php
- clientgui/
- sg_BoincSimpleFrame.cpp
+Charlie 19 Jan 2012
+ - Mac installer: If installing under OS 10.4, create users and groups
+ boinc_master and boinc_project at first available UserIDs and
+ GroupIDs starting at 25 instead of 501 to prevent problems with
+ Accounts pane of System Preferences.
-Rom 21 Nov 2011
- - MGR: Fix bad asserts.
-
clientgui/
- BOINCBitmapComboBox.cpp
+ mac/
+ SetupSecurity.cpp
-Charlie 21 Nov 2011
- - MGR: Fix bad transparency in default project icon.
-
- clientgui/res/skins/default/graphic/
- project_image.xpm
+David 19 Jan 2012
+ - storage simulator work
-Charlie 21 Nov 2011
- - MGR: The asserts were correct; fix minor errors in calling code.
-
- clientgui/
- BOINCBitmapComboBox.cpp
- sg_ProjectPanel.cpp
- sg_TaskPanel.cpp
-
-Charlie 23 Nov 2011
- - MGR: In Simple View, if deleting a task above the current selection,
- decrement the index of the current selection.
- - MGR: In Simple View, reload slide show when task selection changed.
-
- clientgui/
- sg_TaskPanel.cpp,.h
+ ssim/
+ ssim.cpp
+ ssim.php
-Charlie 23 Nov 2011
- - MGR: In Simple View, sort Project Selection Control; make sorting of
- Project and Task Selection controls case-insensitive, fix bugs in
- MacBitmapComboBox.cpp.
+Charlie 20 Jan 2012
+ - client: Show GPU number in "GPU is OpenCL-capable" message.
- clientgui/
- mac/
- MacBitmapComboBox.cpp
- MacBitmapComboBox.cpp
- sg_ProjectPanel.cpp
- sg_TaskPanel.cpp
-
-David 24 Nov 2011
- - GUI RPC client lib: change setsockopt() for receive timeout
- to work on Windows. From Fred.
+ client/
+ client_state.cpp
+Charlie 20 Jan 2012
+ - OpenCL:
+ Problem: Mac OpenCL does not recognize all NVIDIA GPUs returned
+ by CUDA. Since there is no CAL for Mac, this is not an issue
+ for ATI / AMD GPUs. On other platforms, the CUDA and CAL drivers
+ also provide OpenCL support, so we don't expect the problem there.
+
+ Solution: I believe that CUDA and OpenCL return identical GPU
+ model names for the same GPU, and that both return the GPUs in the
+ same order (but with some possibly omitted from the OpenCL sequence.)
+ We use that information to correlate the OpenCL data with CUDA data.
+ We use our internal CUDA device_num for the corresponding OpenCL
+ device, but add a new field opencl_device_index; the two fields are
+ equal unless we have CUDA devices not recognized by OpenCL. We
+ add a new array opencl_device_indexes[] to the COPROC struct,
+ corresponding to the entries in device_nums[].
+
+ The init_data.xml file now has a new field gpu_opencl_device_index.
+ If this field exists, the boinc_get_opencl_ids() API uses this to
+ find the cl_device_id and cl_platform_id, otherwise it continues
+ to use the value in gpu_device_num.
+
+ api/
+ boinc_opencl.cpp
+ client/
+ app_start.cpp
+ coproc_detect.cpp
lib/
- gui_rpc_client.cpp
+ app_ipc.cpp,.h
+ coproc.h
-David 24 Nov 2011
- - default screensaver: fix divide-by-zero; code cleanup
+David 20 Jan 2012
+ - volunteer data archival stuff
- clientsrc/
- ss_app.cpp
+ ssim/
+ vda.cpp,h (new)
+ ssim.cpp
+ makefile
-David 25 Nov 2011
- - client: fix errors in transferring RAM info between CAL and OpenCL.
- (bytes vs MB units, local/global terminology issue).
- From Oliver Bock>
+David 20 Jan 2012
+ - client: add a mechanism for restartable download of compressed files.
+ (It turns out that the compression schemes supported by
+ Apache and libcurl, suprisingly, aren't restartable.)
+
+ if a from the server contains tags,
+ use those instead of the tags,
+ and flag the file as "download_gzipped".
+ If this is the case, download NAME.gz and save it as NAME.gzt.
+ When the download is complete, rename NAME.gzt to NAME.gz,
+ and uncompress it to NAME.
+ (this ensures that if NAME.gz is present, it's complete).
+ Also do the uncompression, if needed, in verify_file().
+ This ensures that the uncompression will eventually get done
+ even if the client quits are crashes in the middle.
+
+ - update_versions: if is present in a ,
+ add a gzipped copy in the download directory
+ and add a elements to the app version's xml_doc.
client/
- coproc_detect.cpp
+ client_types.cpp,h
+ file_xfer.cpp
+ cs_files.cpp
+ tools/
+ update_versions
-Charlie 26 Nov 2011
- - default screensaver: fix build breaks caused by code cleanup above.
+David 20 Jan 2012
+ - feeder: if we're rereading the DB because of trigger file,
+ do PERF_INFO::get_from_db() also.
+ From Teemu Mannermaa.
- clientsrc/
- ss_app.cpp
+ sched/
+ feeder.cpp
-Charlie 28 Nov 2011
- - MGR: In Simple View, if task has no slide show, then display the
- institution, science area and description.
- This is in progress: not yet finished.
+David 20 Jan 2012
+ - admin web: if change app or app version params,
+ advise user to stop/restart the project
- clientgui/
- Events.h
- sg_PanelBase.cpp,.h
- sg_TaskPanel.cpp,.h
+ html/ops/
+ manage_apps.php
+ manage_app_versions.php
-Charlie 29 Nov 2011
- - MGR: Continue work on Simple View to display the description if
- task has no slide show.
- Change all occurrences of "n" to "^n"
+Rom 21 Jan 2012
+ - VBOX: Enable the wrapper to handle fractional CPU usage. If
+ the server specifies 1.1 CPUs used, allocate 2 CPUs to be used
+ in VirtualBox.
- clientgui/
- sg_TaskPanel.cpp,.h
+ samples/vboxwrapper
+ vboxwrapper.cpp
-Charlie 30 Nov 2011
- - MGR: Complete work on Simple View to display the description if
- task has no slide show.
+Rom 21 Jan 2012
+ - sched: adjust the vbox??_mt plan classes to use 1.5 CPUs instead
+ of the full 2 CPUs. Vboxwrapper uses ceil() to allocate enough
+ whole CPUs for Virtualbox. Ideally this will cause the BOINC
+ client-side scheduler to use the remaining fraction of the CPU
+ for GPU data transfer which will then free up one whole CPU for
+ another job. All without over-commiting anything.
- clientgui/
- sg_TaskPanel.cpp,.h
-
-Rom 30 Nov 2011
- - Tag for 7.0.1 release, all platforms
- boinc_core_release_7_0_1
-
- /
- configure.ac
- version.h
+ sched/
+ sched_customize.cpp
-Charlie 30 Nov 2011
- - MGR: Better sizing of Simple View description text box.
-
- clientgui/
- sg_TaskPanel.cpp,.h
+David 22 Jan 2012
+ - GUI RPC: switching to the new XML parser
+ (which won't parse a double as an int)
+ revealed a type mismatch in FILE_TRANSFER::next_request_time
+ between client and server.
-Rom 1 Dec 2011
- - Tag for 7.0.2 release, all platforms
- boinc_core_release_7_0_2
+ db/
+ boinc_db.cpp,h
+ schema_vda.sql (new)
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+ ssim/
+ vda.cpp
+ vda_lib.cpp,h
+ vda_transitioner.cpp
+ makefile
+ client/
+ net_stats.cpp
- /
- configure.ac
- version.h
+David 22 Jan 2012
+ - client: fix divide-by-zero bug in calculation of priority
+ of projects with zero resource share
-Charlie 2 Dec 2011
- - Mac installer: revert to using a wrapper application around installer
- package to require a system restart if creating users and groups.
- (checked into 7.0.2 tag)
-
- mac_build/
- boinc.xcodeproj/
- project.pbxproj
- mac_installer/
- Installer.cpp
- PostInstall.cpp
- release_boinc.sh
+ client/
+ cpu_sched.cpp
-Charlie 2 Dec 2011
- - Mac installer: for files in projects and slots directories, if the
- executable-by-owner permission is set, ensure that the
- executable-by-group bit is also set.
- (checked into 7.0.2 tag)
+Rom 23 Jan 2012
+ - MGR: Tweak the z-order of BOINC Manager owned windows a little bit.
+ Image a case where BOINC Manager and the BOINC Manager event log
+ live side-by-side or only slightly overlapped, and the user wants
+ to use a full screen/maximized window. If the bring the BOINC
+ manager window back into focus while that app is still running
+ make sure the event log comes forward as well. The event log
+ should appear behind the main window in the case they are
+ overlapped.
clientgui/
- mac/
- SetupSecurity.cpp
-
-Rom 5 Dec 2011
- - MGR: Increase the opacity of the panels to make the black text more
- readable.
-
- clientgui/skins/Default/
- skin.xml
+ BOINCGUIApp.cpp, .h
-Charlie 6 Dec 2011
- - MGR: eliminate "ghost" Notices window when running on Windows OS.
+Rom 23 Jan 2012
+ - client - Remove Mac OSX 10.3.9 hack, it is no longer needed.
- clientgui/
- sg_DlgMessages.cpp
+ client/
+ http_curl.cpp
-Charlie 6 Dec 2011
- - MGR: don't show "indeterminate" progress bar in Simple View.
+David 23 Jan 2012
+ - scheduler: initialize COPROC_ATI::version to zero;
+ avoid sending spurious "update driver" messages
- clientgui/
- Events.h
- sg_PanelBase.cpp,.h
- sg_TaskPanel.cpp,.h
+ lib/
+ coproc.cpp
+ db/
+ boinc_db.cpp,h
+ schema_vda.sql
+ vda/
+ vdad.cpp
+ makefile
-Charlie 7 Dec 2011
- - Mac installer: eliminate use of WaitPermissions.app.
- - Mac installer: revert branded build scripts for wrapper application
- around installer package.
-
- mac_installer/
- make_CharityEngine.sh
- make_GridRepublic.sh
- make_ProgThruProc.sh
- PostInstall.cpp
- release_boinc.sh
+Charlie 23 Jan 2012
+ - Mac: If permissions error because unable to opendir() a subdirectory,
+ show path to that subdirectory.
-Charlie 12 Dec 2011
- - MGR: If CSkinIcon PNG file has an alpha channel, use it as mask and
- ignore any tag.
-
- clientgui/
- SkinManager.cpp
+ client/
+ check_security.cpp
-Charlie 14 Dec 2011
- - Mac installer: update build scripts for naming consistency with other platforms.
+Rom 23 Jan 2012
+ - VBOX: Demote the priority level of the VM process to try and prevent
+ latency issues for volunteers.
+ - VBOX: If the port forwarding preferred port isn't usable, try asking
+ the OS for one.
+ - VBOX: On a failure, get the VM process exit code and report it with
+ the rest of the stderr spew.
- mac_installer/
- make_CharityEngine.sh
- make_ProgThruProc.sh
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
-David 1 Dec 2011
- - API and client: add "ncpus" field to APP_INIT_DATA.
- Tells multicore apps how many cores to use.
- The --nthreads command line arg to the app is now deprecated
- though we'll keep it around for the time being.
+David 23 Jan 2012
+ - web: use et_n instead of pfc_n for #jobs completed
+ in host app details page
+ (pfc_n is not populated for hosts running old clients)
- lib/
- app_ipc.cpp,h
+ html/user/
+ host_app_versions.php
+
+Rom 24 Jan 2012
+ - client: treat the gzt file extension like we do for the gz file extension.
+ Disable libcurls ability to decompress on-the-fly and let the CC decompress
+ it after it has been fully downloaded.
+
client/
- app_start.cpp
+ http_curl.cpp
-David 4 Dec 2011
- - client: isdigit() asserts if its arg is negative (which it can be).
- Call isascii() first.
- - GUI RPC lib: add some consts
+David 24 Jan 2012
+ - client: when deleting a file, check for .gzt and .gz variants as well
client/
- cs_notice.cpp
+ client_types.cpp
-David 5 Dec 2011
- - client: when contacting a project for reasons other than
- work fetch (e.g. to report completed jobs)
- only request work if it's the project we would have chosen
- if we were fetching work.
- - client: the way in which project priorities were adjusted
- in work fetch to reflected currently queued work was wrong.
- - client: fix bug in the way project priorities are adjusted
- in RR simulator
- - client emulator: if there are results in the state file
- with states DOWNLOADING or UPLOADING,
- change them to DOWNLOADED or UPLOADED.
- Otherwise they're stuck.
+David 24 Jan 2012
+ - client: bug fixes in gzipped download code
client/
- work_fetch.cpp,h
- sim.cpp
- rr_sim.cpp
- cs_scheduler.cpp
- cpu_sched.cpp
-
-David 6 Dec 2011
- - client: compile fix; remove redundant total_peak_flops()
+ client_types.cpp
+ cs_files.cpp
+Rom 24 Jan 2012
+ - client: undo my previous commit. We request .gz from the server and write
+ the contents to a .gzt file.
+
client/
- work_fetch.cpp,h
- cpu_sched.cpp
+ http_curl.cpp
+
+Rom 24 Jan 2012
+ - VBOX: Fix build breaks for Linux and Mac.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 24 Jan 2012
+ - client: Fix long standing issue with the .gz extension automatically being
+ decompressed on-the-fly when it wasn't supposed to be.
-David 6 Dec 2011
- - client: if a file download was in progress at the time of
- an upgrade from 6.12 to 6.13+,
- it could get erroneously marked as an upload and get stuck forever.
- Problem: uninitialized member.
+ client/
+ http_curl.cpp
+David 24 Jan 2012
+ - volunteer storage
client/
- pers_file_xfer.cpp
+ client_types.h
+ vda/
+ vdad.cpp
-Rom 6 Dec 2011
- - MGR: Scale the task pane in the advanced view to encompass the largest button.
+Charlie 25 Jan 2012
+ - VBOX: Fix compiler warnings on Mac.
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+Charlie 25 Jan 2012
+ - MGR: Make the task pane in the advanced view and its buttons fixed sizes;
+ ellipse the button contents if needed; show full button text plus
+ description in button tooltips; don't set button labels if unchanged.
+
clientgui/
BOINCBaseView.cpp, .h
- BOINCTaskCtrl.cpp
+ BOINCTaskCtrl.cpp, .h
stdwx.h
- ViewNotices.cpp
- ViewResources.cpp
- ViewStatistics.cpp
-David 6 Dec 2011
- - lib: encode CAL version numbers in a way that handles
- release #s > 1000
+David 26 Jan 2012
+ - update_versions: for gzipped files,
+ send the size of the compressed file as well.
+ - client: parse and write the compressed size (FILE_INFO::gzipped_nbytes).
+ For get_transfer GUI RPCs, if it's a compressed download send
+ the compressed size.
+ That way the manager will show the fraction done correctly.
+ tools/
+ update_versions
lib/
- coproc.cpp,h
+ gui_rpc_client.h
+ vda/
+ vdad.cpp
+ client/
+ client_types.cpp,h
+ acct_setup.cpp
+
+Charlie 26 Jan 2012
+ - client: disable temporary debugging aids in coproc_detect logic.
+
+ client/
+ coproc_detect.cpp
-David 12 Dec 2011
- - client: tweak parameters of file xfer backoff to
- reduce backoff intervals somewhat
+David 26 Jan 2012
+ - client: fix write of gzipped_nbytes
client/
- pers_file_xfer.h
+ client_types.cpp
-Rom 12 Dec 2011
- - MGR: Add IE8-10 support for browser cookies when UAC is enabled. Use the
- supported API. It appears MS changed the cookie file format in their
- latest browsers which broke our hack. I have to leave the hack in
- for now because IE7 on Vista didn't expose the IEGetProtectedModeCookie
- API.
- - WINSETUP: Start BOINCMgr as a restricted process on Windows Vista+.
-
- clientgui/
- browser.cpp
- win_build/installerv2/redist/Windows/src/boinccas/
- boinccas.vcproj
- CALaunchBOINCManager.cpp, .h
- win_build/installerv2/redist/Windows/Win32/
- boinccas.dll
- boinccas95.dll
- win_build/installerv2/redist/Windows/x64/
- boinccas.dll
- boinccas95.dll
-
-Rom 1 Dec 2011
- - Tag for 7.0.3 release, all platforms
- boinc_core_release_7_0_3
+Rom 26 Jan 2012
+ - Tag for 7.0.12 release, all platforms
+ boinc_core_release_7_0_12
/
configure.ac
version.h
-Charlie 16 Dec 2011
- - MGR: in Simple View, localize institution, science area and description.
-
+Rom 26 Jan 2012
+ - client: after a gzipped file is downloaded,
+ we uncompress it and then verify it.
+ The latter involves computing its MD5, which reads the entire file.
+ Combine these 2 steps so that the MD5 is computed
+ as the file is uncompressed,
+ eliminating the need to read the file again.
+
+ lib/
+ crypt.cpp,h
+ crypt_prog.cpp
+ client/
+ client_types.cpp,h
+ cs_files.cpp
+
+Charlie 26 Jan 2012
+ - Mac: Update the build instructions with the current URL for c-ares-1.7.4.
+
+ mac_build/
+ HowToBuildBOINC_XCode.rtf
+
+Charlie 27 Jan 2012
+ - MGR: If CPU or GPU is suspended from Activity Menu, change "Snooze" items
+ to "Resume" in system tray menu.
+ - client: Always remember previous CPU and GPU activity settings.
+
+ client/
+ client_types.cpp,h
+ cs_statefile.cpp
clientgui/
- BOINCGUIApp.cpp
- sg_TaskPanel.cpp
+ BOINCTaskBar.cpp,.h
+ mac/
+ macSysMenu.cpp
-Charlie 21 Dec 2011
- - MGR: Display project descriptions in Attach Wizard using wxTextCtrl
- instead of wxHtmlWindow to support screen readers for accessibility,
- after converting all occurrences of "n" to "^n".
- Show localized project descriptions in Attach Wizard.
+David 27 Jan 2012
+ - manager: in Disk View, try to make colors more distinct.
+ In addition to varying the hue,
+ cycle through 3 different luminance values (.5, .7, .9)
+ - web: update the wording of buffer-size preferences
clientgui/
- ProjectInfoPage.cpp,.h
+ ViewResources.cpp
+ html/inc/
+ prefs.inc
+
+David 27 Jan 2012
+ - manager: in tooltips for Project/Task buttons,
+ don't prepend "button name: ";
+ add a tooltip for Home Page button.
-Charlie 21 Dec 2011
- - MGR: Fix horizontal sizing of text in Simple View project description.
-
clientgui/
- sg_TaskPanel.cpp,.h
+ BOINCBaseView.cpp
+ BOINCTaskCtrl.cpp
-David 26 Dec 2011
- - API:
- allow applications to supply a "web graphics URL",
- in which case the manager's "Show Graphics" button
- opens a browser at that URL.
- This typically would used for applications that
- implement a web server that serves pages showing
- job information in HTML.
+Charlie 27 Jan 2012
+ - MGR: Disable new "Resume" items in system tray menu if modal dialog is open.
- api/
- boinc_api.cpp,h
+ clientgui/
+ BOINCTaskBar.cpp
-David 26 Dec 2011
- - add support for APP::needs_network flag.
- If set, don't run jobs for that app while network is suspended.
- - client: parse this flag and maintain in state file;
- do a job reschedule when network suspend state changes
- - GUI RPC: add RESULT::network_wait flag;
- if set, this job is waiting for network access to be allowed
- - Manager: display the above in task info
- - add support for "web graphics URL" (see above)
- - client: parse message containing URL on graphics_reply channel
- and store in ACTIVE_TASK::web_graphics_url
- - GUI RPC: add RESULT::web_graphics_url
- - Manager: if web graphics URL is present, Show Graphics opens a browser
- - remove some vestigial code for pre-V6 graphics
-
- client/
- app.cpp,h
- app_control.cpp
- client_state.cpp
- client_types.cpp,h
- work_fetch.cpp
- clientgui;
- MainDocument.cpp
- sg_TaskCommandPopup.cpp
- ViewWork.cpp
- lib/
- gui_rpc_client.h
- gui_rpc_client_ops.cpp
+David 28 Jan 2012
+ - web: msg tweak
+ - screensaver coordinator: use new XML parser
-David 26 Dec 2011
- - make "needs network" a property of APP_VERSION rather than APP
+ clientscr/
+ screensaver.cpp
+ html/user/
+ forum_report_post.php
+Charlie 30 Jan 2012
+ - client: because available GPU RAM value is unreliable, don't defer
+ scheduling a task based on insufficient GPU RAM. For now, the
+ relevant code is guarded by a "#define DEFER_ON_GPU_AVAIL_RAM 0"
+ so we can easily restore it if we find a reliable way to get the
+ value of available GPU RAM periodically.
+
+ NOTE: we are still sending this unreliable value to project
+ servers in the sched_request file. Does it make sense to do so?
+
client/
- client_types.cpp,h
- work_fetch.cpp
- app_control.cpp
+ cpu_sched.cpp
+ lib/
+ coproc.h
-Rom 26 Dec 2011
- - Tag for 7.0.4 release, all platforms
- boinc_core_release_7_0_4
+David 30 Jan 2012
+ - manager: change text for buffer-size fields in advanced prefs dialog
- /
- configure.ac
- version.h
+ clientgui/
+ DlgAdvPreferencesBase.cpp
-Rom 27 Dec 2011
- - SCR: Remove last linger pieces of v5 backward graphics compatibility
- from the screensaver.
-
- clientscr/
- screensaver.cpp
- screensaver_win.h
+David 30 Jan 2012
+ - server: revamp the "assigned job" mechanism.
+ This now supports two main use cases:
+ 1) there's a job that you want to run once on all hosts,
+ present and future
+ (or all hosts belonging to a user, or to a team).
+ The job is never transitioned, validated, or assimilated.
+ 2) There's a normal job for which you want to use only
+ hosts belonging to a specific user (e.g. cluster or cloud hosts).
+ This restriction can be made either when the job is created,
+ or on the fly,
+ e.g. as part of a scheme for accelerating batch completion.
+ For the latter purposes we now provide a function
+ restrict_wu_to_user(DB_WORKUNIT&, int userid);
+
+ The job goes through the standard
+ transitioner/validator/assimilator path.
+
+ These cases are enabled by config flags
+
+
+ respectively.
-Rom 27 Dec 2011
- - Tag for 7.0.5 release, all platforms
- boinc_core_release_7_0_5
+ Assignment of type 2) are no longer stored in shared mem,
+ so there is no limit on their number.
- /
- configure.ac
- version.h
+ There is no longer a rule that assigned job names must contain "asgn".
+
+ NOTE: this requires a database update.
+
+ db/
+ boinc_db.cpp,h
+ constraints.sql
+ schema.sql
+ sched/
+ sched_util.cpp,h
+ sched_shmem.cpp
+ transitioner.cpp
+ sched_assign.cpp
+ tools/
+ backend_lib.cpp
+ create_work.cpp
+ html/ops/
+ db_update.php
+ lib/
+ common_defs.h
-David 28 Dec 2011
- - client: detect Windows HyperV Server 2008 R2 (from Crashtest)
+David 30 Jan 2012
+ - admin web: improvements to the pages for investigating result failures
+ (though considerable funkiness remains)
- client/
- hostinfo_win.cpp
+ html/
+ ops/
+ failure_result_summary_by_platform.php
+ failure_result_summary_by_host.php
+ index.php
+ pass_percentage_by_platform.php
+ inc/
+ db_ops.inc
-Rom 28 Dec 2011
- - client: increase the buffer sizes for retrieving cpu features on *nix
- type systems. the latest generation of processors blow past 256 bytes
- and vmx and svm are truncated.
-
- client/
- hostinfo_unix.cpp
+David 31 Jan 2012
+ - admin web: fixes and clarifications to failure summaries
-Rom 28 Dec 2011
- - WINSETUP: Introduce new BOINC setup packages which include VirtualBox.
-
- win_build/installerv2/
- BOINC_vbox.ism
- BOINCx64_vbox.ism
-
-Rom 28 Dec 2011
- - Tag for 7.0.6 release, all platforms
- boinc_core_release_7_0_6
+ html/
+ ops/
+ failure_result_summary_by_platform.php
+ failure_result_summary_by_host.php
+ index.php
+ pass_percentage_by_platform.php
+ inc/
+ boinc_db.inc
+ db_ops.inc
+ user/
+ apps.php
+
+David 31 Jan 2012
+ - create_work tool: change option names for assigned jobs
+ - admin web: show actual platform name in result summary page
+
+ tools/
+ create_work.cpp
+ html/ops/
+ pass_percentage_by_platform.php
+
+David 31 Jan 2012
+ - web: fix the user search feature
+ - scheduler: parse d_project_share
+ - scheduler: if vbox and vbox_mt are both available,
+ use vbox for a 1-CPU machine
+
+ db/
+ boinc_db.h
+ sched/
+ sched_customize.cpp
+ sched_types.cpp
+ html/user/
+ user_search.php
+
+David 1 Feb 2012
+ - scheduler: add log messages to show VM-related request items
+ - fix typos in db_update script
+
+ sched/
+ sched_send.cpp
+ html/ops/
+ db_update.php
+
+Charlie 2 Feb 2012
+ - Tag for 7.0.13 release, all platforms
+ boinc_core_release_7_0_13
/
configure.ac
version.h
-David 30 Dec 2011
- - client: parse APP:non_cpu_intensive correctly.
- This got broken somehow.
- - client: don't crash if missing RSS feed file for some reason
-
- client/
- client_types.cpp
- cs_notice.cpp
-
-David 30 Dec 2011
- - client: for VBox apps, check stderr for "ERR_CPU_VM_EXTENSIONS_DISABLED".
- If found, set HOST_INFO::p_vm_extensions_disabled,
- and pass this to the scheduler.
-
- Note: if you have a host with VM extensions, and they're disabled
- in the BIOS, and you enable them, you can remove the
- line from client_state.xml
- and you'll be eligible to get multicore VM jobs again.
+David 2 Feb 2012
+ - client: fix job scheduler problem:
+ old: RR simulation marks some jobs as missing their deadline,
+ and the job scheduler runs those jobs as "high priority".
+ problem: those generally aren't the ones we should run.
+ E.g. if the client has a lot of jobs from a project,
+ typically the ones with later deadlines are the ones
+ whose deadlines are missed in the simulation.
+ But in this case the EDF policy says we should run
+ the ones with earliest deadlines.
+ new: if a project has N deadline misses,
+ run its N earliest-deadline jobs,
+ regardless of whether they missed their deadline in the sim.
+ Note: this is how it used to be (as designed by John McLeod).
+ I attempted to improve it, and got it wrong.
client/
- app_control.cpp
- lib/
- hostinfo.cpp,h
+ cpu_sched.cpp
-Rom 30 Dec 2011
- - client: processor features buffer is supposed to be 1024 bytes. avoid
- truncation.
+Rom 2 Feb 2012
+ - MGR: Fix cookie detection problem when using the
+ IEGetProtectedModeCookie API. Function prototype changed from the
+ InternetGetCookieEx function. HRESULT != BOOL.
- lib/
- hostinfo.cpp
+ clientgui/
+ browser.cpp
-Rom 30 Dec 2011
- - WINSETUP: Give 'boinc_admins' and 'boinc_projects' the ability to access and
- launch the VirtualBox server-side application. This should complete the
- needed work to run VirtualBox within the Windows sandboxed environment.
- - WINSETUP: Remove the virtualized file system tag from the Windows Explorer
- copied security token when launching BOINC Manager and BOINC Tray after
- setup has completed. I believe this will resolve the new cookie issue
- experienced by PTP/GR/CE.
- - WINSETUP: Hookup new custom actions to the BOINC Installers
-
- win_build/installerv2/
- BOINC.ism
- BOINCx64.ism
- win_build/installerv2/redist/Windows/Win32/
- boinccas.dll
- boinccas95.dll
- win_build/installerv2/redist/Windows/x64/
- boinccas.dll
- boinccas95.dll
-
-Rom 30 Dec 2011
- - Tag for 7.0.7 release, all platforms
- boinc_core_release_7_0_7
+Rom 2 Feb 2012
+ - Tag for 7.0.14 release, all platforms
+ boinc_core_release_7_0_14
/
configure.ac
diff -Nru boinc-7.0.7+dfsg/checkin_notes_2011 boinc-7.0.14+dfsg/checkin_notes_2011
--- boinc-7.0.7+dfsg/checkin_notes_2011 1970-01-01 00:00:00.000000000 +0000
+++ boinc-7.0.14+dfsg/checkin_notes_2011 2012-01-01 03:35:29.000000000 +0000
@@ -0,0 +1,9776 @@
+David 1 Jan 2011
+ - fix some bad file permissions
+ - delist defunct stats site
+
+ clientgui/
+ DlgItemProperties.cpp,h
+ AsynRPC.cpp
+ html/inc/
+ stats_sites.inc
+ samples/
+ wrapper/
+ wrapper.cpp
+ example_app/
+ uc2.cpp
+ client/
+ sim_control.cpp
+
+David 2 Jan 2011
+ - unix build: remove hardwired -ldl
+
+ lib/
+ Makefile.am
+
+David 3 Jan 2011
+ - client: show a given system notice at most once a week
+
+ client/
+ client_msgs.cpp
+ sim_control.cpp
+ cs_notice.cpp
+
+Charlie 4 Jan 2010
+ - Mac: Fix symbol table generation.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 6 Jan 2011
+ - user web: fix bugs in server status page
+ - fix some indentation
+
+ html/user/
+ server_status.php
+ client/
+ *.cpp
+
+David 6 Jan 2011
+ - simulator work
+ - fix some indentation
+
+ various files
+
+David 11 Jan 2011
+ - client: use std::deque instead of std::vector
+ for RR sim's pending-job lists.
+ Erasing head of vector is slow.
+ - lib: allow GPU peak FLOPS to be specified in XML (for simulator)
+ - simulator work
+ - client: old work fetch policy: projects may need enough jobs
+ for all device instances, not just resource_share*ninst.
+ E.g. a project that has only CPU jobs in a CPU/GPU client
+ - client: with REC scheduling, don't ask for work for
+ secondary resources if project has negative priority.
+ - client: in RR sim, make sure we saturate devices if possible.
+ Otherwise we may report a shortfall incorrectly
+
+ client/
+ coproc_detect.cpp
+ cpu_sched.cpp
+ rr_sim.cpp,h
+ sim.cpp
+ sim_control.php
+ sim_scenario.php (new)
+ work_fetch.cpp,h
+ lib/
+ coproc.cpp,h
+ sched/
+ sched_customize.cpp
+ sched_types.cpp
+
+David 11 Jan 2011
+ - client: set PROJECT::last_upload_start when a job completes,
+ NOT when its first upload starts.
+ This prevents a scheduler RPC from happening between the two.
+ This was a bug in [22841]
+
+ client/
+ cs_apps.cpp
+ pers_file_xfer.cpp
+
+David 12 Jan 2011
+ - client: tweak [22842] so that system clock changes
+ of < 60 seconds are ignored
+
+ client/
+ client_state.h
+
+Rom 12 Jan 2011
+ - MGR: Embed the BOINC skin in the executable using XPM files.
+
+ clientgui/res/skins/default/graphic/
+
+ clientgui/
+ SkinManager.cpp
+ win_build/
+ boincmgr.vcproj
+
+David 12 Jan 2011
+ - single-job submission system: don't hardwire i686 architecture;
+ make it work on any Linux system.
+ From Steffen Moller.
+
+ html/ops/
+ single_job_setup.php
+
+Rom 13 Jan 2011
+ - MGR: Disable the background repaint events for the SGUI Messages and
+ SGUI Preferences dialog. Changing the font color wasn't as easy as
+ I had hoped and the black background for the skin doesn't do any
+ good when the text itself is black as well.
+
+ clientgui/
+ sg_DlgMessages.cpp
+ sg_DlgPreferences.cpp
+
+David 13 Jan 2011
+ - scheduler/client/API: pass user ID and team ID from scheduler to client,
+ and from client to app (host ID is already passed).
+ E@h asked for this, not sure why.
+
+ client/
+ client_types.cpp,h
+ app_start.cpp
+ lib/
+ app_ipc.cpp,h
+ sched/
+ sched_types.cpp
+
+Rom 13 Jan 2010
+ - MGR: re-enable background painting and just change the default background
+ color for the new default skin to light gray.
+
+ clientgui/
+ sg_DlgMessages.cpp
+ sg_DlgPreferences.cpp
+
+Bernd 14 Jan 2011
+ - unix build system: generate_svn_version
+ - generate version string from plain git repositories, too
+ - define SVN_REPOSITORY (URL) and SVN_REVISION (numerical) separately
+ so these could be used in proprocessor directives
+
+ generate_svn_version.sh
+
+David 14 Jan 2011
+ - make the Manager build on FC11
+ - simulator work
+
+ clientgui/
+ Makefile.am
+ sched/
+ edf_sim.cpp
+ client/
+ sim.cpp
+ sim_control.php
+
+David 15 Jan 2011
+ - client: fix job scheduling bug.
+ Scenario: we have 2 CPUs and 1GB RAM
+ Project A has jobs that use 1GB.
+ Project B has small-mem jobs.
+ Currently, we ignore RAM usage in building the runnable job list,
+ so we might pick 2 jobs from project A.
+ enforce_schedule() (which checks RAM usage) will run just one of them,
+ and the other CPU will be idle.
+ Solution: keep track of RAM usage while building the runnable job list.
+ client/
+ cpu_sched.cpp
+
+David 15 Jan 2011
+ - client: code cleanup in CPU scheduling;
+ eliminate global variable
+
+ client/
+ client_state.cpp,h
+ cpu_sched.cpp
+ sim.cpp
+
+Charlie 18 Jan 2011
+ Mac: update release script to remove install of separate BOINC skin.
+
+ mac_installer/
+ release_boinc.sh
+
+David 18 Jan 2011
+ - simulator work
+
+ client/
+ cpu_sched.cpp
+ work_fetch.h
+ sim.cpp
+ sim_control.cpp
+ client_types.cpp
+
+David 19 Jan 2011
+ - client: eliminate unnecessary CPU reschedules.
+ Currently we do a reschedule any time a job checkpoints,
+ in case there's a job that has finished a time slice
+ but hasn't checkpointed yet.
+ Instead: flag such jobs, and trigger a reschedule
+ on checkpoint only for flagged jobs.
+ - client: fix instability in job scheduling that happens
+ if a job's estimated completion time in RR sim is close to its deadline.
+ It can alternate between making and missing deadline,
+ causing the scheduler to alternate rapidly between jobs.
+ Solution: if RR sim has marked a job as deadline miss
+ any time in the last (CPU scheduling period),
+ treat it as a deadline miss.
+
+ client/
+ app.cpp,h
+ rr_sim.cpp
+ app_control.cpp
+ cpu_sched.cpp
+
+David 19 Jan 2011
+ - client: if we're using an acct mgr,
+ and we're attached to a project manually (not via acct mgr)
+ and the acct mgr tells us to detach from it, don't.
+
+ client/
+ acct_mgr.cpp
+
+David 19 Jan 2011
+ - server: fix for EmBOINC
+
+ sched/
+ sched_util.cpp
+
+David 24 Jan 2011
+ - server: disable upload certificates by default.
+ These increase server load and it's not clear they're needed.
+
+ py/Boinc/
+ setup_project.py
+
+Rom 25 Jan 2011
+ - MGR: Fix advanced view button is Simple GUI.
+ (Button Text is Verdana 8pt. in MS Paint)
+
+ clientgui/res/skins/default/graphic/
+ advanced_link_image.xpm
+ clientgui/res/templates/skins/
+ advanced_link_image.gif (Added)
+ btnAdvancedView.png (Removed)
+
+David 25 Jan 2011
+ - client: accept and in cc_config.xml
+ - client: reset log flags (as well as options) when rereading cc_config.xml
+
+ client/
+ log_flags.cpp,h
+
+David 25 Jan 2011
+ - web: tweaks so that BOINC-Wide Teams site can warn people if
+ their email address is not validated
+
+ html/
+ inc/
+ user.inc
+ user/
+ edit_email_action.php
+
+Charlie 27 Jan 2011
+ Mac: update Mac_SA_Insecure.sh script to not require BOINC Client in
+ BOINC Data folder.
+
+ mac_build/
+ Mac_SA_Insecure.sh
+
+Charlie 27 Jan 2011
+ - MGR: Add new Simple GUI.
+
+ clientgui/
+ AdvancedFrame.cpp, .h
+ BOINCGUIApp.cpp, .h
+ Events.h
+ sg_BoincSimpleFrame.cpp, .h (new)
+ sg_CustomControls.cpp, .h
+ sg_PanelBase.cpp, .h (new)
+ sg_ProjectCommandPopup.cpp, .h (new)
+ sg_ProjectPanel.cpp, .h (new)
+ sg_ProjectWebSitesPopup.cpp, .h (new)
+ sg_TaskCommandPopup.cpp, .h (new)
+ sg_TaskPanel.cpp, .h (new)
+ SkinManager.cpp
+ mac/
+ MacBitmapComboBox.cpp, .h (new)
+ res/
+ RedDot16.xpm (new)
+ YellowDot16.xpm (new)
+ GreenDot16.xpm (new)
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ win_build/
+ boincmgr.vcproj
+
+David 27 Jan 2011
+ - client: fix bug in setting GPU peak flops
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.cpp,h
+
+Charlie 28 Jan 2011
+ - MGR: Fix default skin selection display in Simple Preferences
+ dialog.
+ - MGR: Use standard native buttons in Simple Preferences and
+ Simple Notices dialogs.
+ - MGR: Use our control IDs instead of wxID_HELP for Help buttons
+ for Mac accessibility (wxID_HELP makes a bitmap button on
+ Macs which VoiceOver screen reader can't read.)
+ - MGR: Disable tooltips on Mac while new simple GUI menus are
+ popped up because they cover menus.
+
+ clientgui/
+ DlgAdvPreferences.cpp
+ DlgAdvPreferencesBase.cpp
+ sg_BoincSimpleFrame.cpp
+ sg_DlgMessages.cpp
+ sg_DlgPreferences.cpp
+ sg_ProjectCommandPopup.cpp
+ sg_ProjectWebSitesPopup.cpp
+ sg_TaskCommandPopup.cpp
+ wizardex.cpp
+ SkinManager.cpp
+ mac/
+ MacBitmapComboBox.cpp, .h
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 28 Jan 2011
+ - back end: allow the specification of a read-only DB replica
+ (in config.xml) to include DB name, user, and password.
+ - back end: add read-only replica info to SCHED_CONFIG,
+ so that C++ programs can use the replica
+ (currently only PHP code can use it)
+ - db_dump: use the read-only DB replica if it exists.
+
+ html/inc/
+ boinc_db.inc
+ db.inc
+ sched/
+ sched_config.cpp,h
+ db_dump.cpp
+
+David 28 Jan 2011
+ - new script sched/transitioner_catchup.php: transitions all WUs
+ that need it, then exits.
+ For big projects coming up after an outage, run this before bin/start
+ to minimize startup overload
+ - tweaks to PHP libraries to allow them to be used
+ by scripts anywhere in the dir hierarchy
+
+ sched/
+ transitioner_catchup.php
+ html/inc/
+ boinc_db.inc
+ util_basics.inc
+ py/Boinc/
+ setup_project.py
+
+Charlie 29 Jan 2011
+ - MGR: Code cleanup.
+
+ clientgui/
+ sg_PanelBase.cpp, .h
+ sg_ProjectPanel.cpp, .h
+ sg_TaskPanel.cpp, .h
+
+Charlie 30 Jan 2011
+ - MGR: New Simple GUI optimization.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_PanelBase.cpp
+ sg_TaskPanel.cpp, .h
+
+Charlie 30 Jan 2011
+ - MGR: Fix compile break on Linux.
+
+ clientgui/
+ sg_DlgPreferences.cpp
+
+Charlie 31 Jan 2011
+ - MGR: Update Makefile.
+ - MGR: New Simple GUI optimization.
+
+ clientgui/
+ Makefile.am
+ sg_TaskPanel.cpp, .h
+
+Charlie 31 Jan 2011
+ - Mac: Add info about dual-GPU Powerbooks to ReadMe files.
+
+ mac_installer/
+ GR-ReadMe.rtf
+ PTP-ReadMe.rtf
+ ReadMe.rtf
+
+David 1 Feb 2011
+ - client: make "wrong URL" message not be a notice
+ - web: fix caching problem when PHP not installed as Apache module
+
+ html/inc/
+ cache.inc
+ client/
+ cs_scheduler.cpp
+
+Charlie 1 Feb 2011
+ - Mac: Localize items in Mac's BOINC menu.
+
+ clientgui/
+ AdvancedFrame.cpp
+ sg_BoincSimpleFrame.cpp
+ mac/
+ MacGUI.pch
+ Mac_GUI.cpp
+
+Charlie 1 Feb 2011
+ - MGR: Use branded short application name in Help tooltips instead
+ of always using "BOINC".
+ - Mac: Eliminate unused source files Localization.cpp, .h from Mac
+ project.
+
+ clientgui/
+ DlgEventLog.cpp
+ sg_BoincSimpleFrame.cpp
+ sg_DlgMessages.cpp
+ sg_DlgPreferences.cpp
+ sg_ProjectsComponent.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Rom 1 Feb 2011
+ - WINSETUP: Avoid a 0xc0000135 error by giving the boinc_master and
+ boinc_project membership in the 'Users' group. Dynamic linking
+ to nvcuda.dll was failing because the project applications were
+ being denied access to DLLs in the system directory.
+
+ win_build/installerv2/redist/Windows/src/boinccas/
+ boinccas.rc
+ CACreateBOINCGroups.cpp
+ win_build/installerv2/redist/Windows/Win32/
+ boinccas.dll
+ boinccas95.dll
+ win_build/installerv2/redist/Windows/x64/
+ boinccas.dll
+ boinccas95.dll
+
+David 1 Feb 2011
+ - create_work: add -d option
+
+ tools/
+ create_work.cpp
+
+Rom 3 Feb 2011
+ - MGR: Enable the volunteer configurable 'shutdown core client' feature
+ on exit for Linux. It was orginally supposed to be enabled when
+ the balloon features were enabled, but got lost in ifdef hell.
+ (From "Lee")
+
+ clientgui/
+ DlgExitMessage.cpp
+ MainDocument.cpp
+
+David 3 Feb 2011
+ - create_work: add some debugging printfs for Kamran
+
+ tools/
+ backend_lib.cpp
+ html/
+ inc/
+ forum.inc
+ profile.inc
+ user/
+ weak_auth.php
+
+Charlie 3 Feb 2011
+ - MGR: Eliminate unnecessary #ifdef.
+
+ clientgui/
+ BOINCGUIApp.cpp
+
+David 4 Feb 2011
+ - client/manager: show venue in project properties
+
+ clientgui/
+ DlgItemProperties.cpp
+ client/
+ client_types.cpp
+ lib/
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+
+David 7 Feb 2011
+ - manager: msg tweak
+ client/
+ CompletionErrorPage.cpp
+
+David 7 Feb 2011
+ - client: don't crash if omit cmdline port#. Fixes #1040
+
+ client/
+ cs_cmdline.cpp
+
+Rom 8 Feb 2011
+ - MGR: Fix a bug that is several years old, appears to have been
+ introduced during the Unicode conversion phase for Windows. Passing
+ a wide character string into an narrow character function causes
+ a NULL reference exception.
+
+ TODO: There is still an issue if the manager attempts to write to
+ stderr when the BOINC Manager log files are redirected to a
+ directory the user doesn't have access to.
+
+ clientgui/
+ SkinManager.cpp
+
+David 8 Feb 2011
+ - user web: add "delete account" feature.
+ This allows a user to delete all traces of themselves from a project.
+ Namely:
+ - clear fields of user record: email_addr, authenticator,
+ name, country, postal_code
+ Note: record is not deleted
+ - clear the domain_name and last_ip_addr fields of hosts
+ Note: records are not deleted
+ - quit team
+ - delete private messages sent and received
+ - delete forum posts, subscriptions, and forum prefs
+ - delete profile and associated images
+ - server: compile fix
+
+ html/
+ inc/
+ pm.inc
+ host.inc
+ forum.inc
+ user.inc
+ util.inc
+ user/
+ delete_account.php
+ stats.php
+ tools/
+ backend_lib.cpp
+
+David 8 Feb 2011
+ - create_work and possibly other back-end programs:
+ fix bug that corrupted WU command lines.
+ The problem: we were using strcpy(p, p+n) to delete the
+ first n characters of p.
+ This is incorrect - the behavior of strcpy() is undefined
+ if its args overlap.
+ On some systems (e.q. AQUA's server) it does wacky things.
+
+ tools/
+ backend_lib.cpp
+ lib/
+ str_util.cpp,h
+ parse.cpp
+
+David 9 Feb 2011
+ - user web: apparently if you put links of the form
+ http://setiathome.berkeley.edu/help.php?key=Viagra.uk
+ all over the web, Google will list "Viagra.uk" in your site outline (why??).
+ Preliminary checkin for dealing with this.
+
+ html/
+ inc/
+ prefs.inc
+ util.inc
+ user/
+ view_profile.php
+ account_finish.php
+ am_get_info.php
+ add_venue.php
+
+David 9 Feb 2011
+ - user web: make all forum tables full-width
+ html/inc/
+ forum.inc
+
+David 9 Feb 2011
+ - user web: finish dealing with get args spam
+
+ html/
+ user/
+ *.php
+ inc/
+ pm.inc
+ prefs.inc
+ forum.inc
+ util.inc
+
+David 9 Feb 2011
+ - user web: appearance tweaks
+
+ html/
+ inc/
+ forum.inc
+ user/
+ forum_help_desk.php
+ forum_index.php
+ white.css
+
+David 10 Feb 2011
+ - user web: fix "nowrap" post display
+
+ html/inc/
+ forum.inc
+
+David 10 Feb 2011
+ - user web: CSS cleanup.
+ Use classes instead of IDs.
+ white.css and black.css are cleaned up; style2.css needs work
+
+ html/
+ inc/
+ pm.inc
+ forum.inc
+ user.inc
+ util.inc
+ user/
+ pm.php
+ sample_index.php
+ forum_thread.php
+ main.css
+ forum_help_desk.php
+ friend.php
+ forum_forum.php
+ forum_index.php
+ style2.css
+ white.css
+
+David 10 Feb 2011
+ - client: if a logical filename contains /'s,
+ create the needed dirs under the slot dir
+ - user web: pages with translatable text should not be cached.
+ Fix this for home page; there are some others
+
+ client/
+ app_start.cpp
+ html/user/
+ sample_index.php
+
+David 11 Feb 2011
+ - manager: project properties: if no venue, show "default"
+
+ clientgui/
+ DlgItemProperties.cpp
+
+David 11 Feb 2011
+ - user web: style tweaks
+ html/user/
+ forum_post.php
+ main.css
+ white.css
+
+David 11 Feb 2011
+ - user web: disable "delete account" feature
+
+ html/
+ user/
+ delete_account.php
+ inc/
+ user.inc
+
+David 11 Feb 2011
+ - user web: bug fixes
+ html/user/
+ team_quit_action.php
+ team_manage.php
+ forum_moderate_post.php
+
+David 13 Feb 2011
+ - user web: fix venue change
+ html/
+ inc/
+ prefs.inc
+ util.inc
+ user/
+ host_venue_action.php
+
+David 13 Feb 2011
+ - user web: bug fixes
+
+ html/user/
+ forum_moderate_thread.php
+ add_venue.phhp
+
+David 13 Feb 2011
+ - user web: bug fix
+
+ html/user/
+ forum_reply.php
+
+David 13 Feb 2011
+ - user web: bug fix
+ html/user/
+ forum_banishment_vote_action.php
+
+David 14 Feb 2011
+ - user web: bug fix
+ html/user/
+ pm.php
+
+David 14 Feb 2011
+ - user web: fix [img] BBcode problem
+ html/inc/
+ text_transform.inc
+
+David 14 Feb 2011
+ - user web: various fixes
+ html/
+ inc/
+ prefs.inc
+ user/
+ main.css
+ prefs_remove.php
+ forum_reply.php
+ white.css
+ add_venue.php
+ forum_edit.php
+
+David 14 Feb 2011
+ - user web: fixes
+ html/user/
+ sample_index.php
+ main.css
+
+David 14 Feb 2011
+ - client, linux: use X server for idle detection if available
+
+ configure.ac
+ client/
+ hostinfo_unix.cpp
+
+Charlie 15 Feb 2011
+ Mac: Make backtrace compile properly with OS 10.5 and OS 10.6 SDKs.
+
+ lib/
+ mac/
+ QBacktrace.c
+ QCrashReport.c
+
+Charlie 15 Feb 2011
+ Mac Installer: Fix the code which deletes installer receipts to use
+ the current package name (which changed when I eliminated the
+ Mac installer wrapper application around the installer package.)
+ This is needed to allow installing an older version to replace a
+ newer one under OS 10.4.x.
+
+ mac_installer/
+ PostInstall.cpp
+ uninstall.cpp
+
+David 15 Feb 2011
+ - transitioner: fix bug that could cause file deletion to not be done
+ for some WUs
+ - back end: fix the way "report grace period" is implemented
+ old: result.report_deadline (i.e. what's in the DB) and
+ the deadline sent to the client are the same.
+ Some confusing and incorrect logic in the transitioner
+ tries to provide the desired semantics.
+ new: result.report_deadline is the deadline sent to the client,
+ plus the grace period.
+ No logic in the transitioner is needed.
+
+ db/
+ boinc_db.cpp,h
+ sched
+ sched_config.cpp,h
+ sched_send.cpp
+ transitioner.cpp
+ sched_resend.cpp
+
+David 15 Feb 2011
+ - file upload handler: if client-reported offset is less than file size,
+ don't just print an error message;
+ lseek() back to the offset point.
+ Otherwise we can end up with duplication in the file.
+
+ sched/
+ file_upload_handler.cpp
+
+David 15 Feb 2011
+ - update_versions: if FILE.file_ref_info contains ,
+ use that instead of physical name.
+ This lets you have logical names with slashes
+
+ py/Boinc/
+ tools.py
+
+Charlie 16 Feb 2011
+ Mac: More thorough error checking and recovery in code which localizes
+ items in Mac's BOINC menu.
+
+ mac/
+ Mac_GUI.cpp
+
+David 16 Feb 2011
+ - user web: fixes to private message functions
+
+ html/user/
+ pm.php
+
+David 16 Feb 2011
+ - client: fix work-fetch bug.
+ The change in [21877] caused tasks in "download stalled" state
+ to be skipped in RR simulation,
+ and therefore to not be counted in the work buffer.
+ However, "download stalled" was not being evaluated correctly;
+ it was considering only per-file backoff, not project-wide backoff.
+ - client: another work-fetch bug:
+ don't fetch work from a project in project-wide download backoff.
+
+ client/
+ client_types.cpp
+
+David 16 Feb 2011
+ - client: fix bug in mechanism that defers work request until
+ pending uploads are finished.
+ Due to a typo, this was not being done.
+
+ client/
+ cs_scheduler.cpp
+
+David 16 Feb 2011
+ - client: when exclusive app mechanism is used (CPU or GPU)
+ wait for 30 secs after excl app exits
+ before restarting computation
+
+ client/
+ app.cpp,h
+ client_state.h
+ cs_prefs.cpp
+
+Charlie 17 Feb 2011
+ Mac: Additional error checking and release created objects in code
+ which localizes items in Mac's BOINC menu.
+
+ mac/
+ Mac_GUI.cpp
+
+Charlie 17 Feb 2011
+ - Mac installer: update branded build scripts to eliminate wrapper
+ application around install package (as was done for BOINC 6.12.7).
+
+ clientgui/
+ res/
+ MacPTPPkgIcon.zip (new)
+ MacGRPkgIcon.zip (new)
+ mac_installer/
+ make_GridRepublic.sh
+ make_ProgThruProc.sh
+
+David 17 Feb 2011
+ - file upload handler: fix faulty bug fix of 2/15
+ - client: make REC-based scheduling and hysteresis the defaults
+
+ client/
+ work_fetch.cpp
+ sched/
+ file_upload_handler.cpp
+
+David 17 Feb 2011
+ - client: when detach project, remove its RSS feeds from list
+ - client: remove once-per-week limit for client-generated notices;
+ need to show "network connection required" more often
+ - client: when remove "network conn required" notice
+ (because now have conn)
+ set the flag that says complete notice list is being sent
+ - client: if RSS feed fetch returns ,
+ show the corresponding message rather than "XML parse error"
+
+ client/
+ client_state.cpp
+ cs_notice.cpp
+ gui_rpc_server_ops.cpp
+ http_curl.cpp
+ net_stats.cpp,h
+
+Rom 18 Feb 2011
+ - client: Fast User Switching does not change the session protocol
+ to RDP when the active session is put into the background and
+ a new one is brought into the foreground. It appears it is safe
+ to use the connected state in addition to the protocol
+ to detect when the session is no longer capable of processing
+ GPU work
+
+ lib/
+ win_util.cpp
+
+Charlie 18 Feb 2011
+ - Mac: Update link to NVIDIA CUDA Mac driver download page
+
+ mac_installer/
+ GR-ReadMe.rtf
+ PTP-ReadMe.rtf
+ ReadMe.rtf
+
+David 18 Feb 2011
+ - client: more notice-related fixes.
+ I'm working on this case:
+ - start up
+ - disconnect (produces notice)
+ - reconnect (removes notice)
+ The client is now doing the right thing.
+ The manager is not.
+
+ client/
+ acct_setup.h
+ cs_notice.cpp,h
+ gui_rpc_server.h
+ gui_rpc_server_ops.cpp
+
+David 19 Feb 2011
+ - wrapper: add optional element in elements;
+ specifies a directory to run app in.
+ macro-substitute project dir for $PROJECT_DIR.
+ From Carl Christensen, more or less
+
+ samples/wrapper/
+ wrapper.cpp
+
+David 19 Feb 2011
+ - wrapper: add optional element in elements;
+ specifies an environment variable assignment;
+ macro-substitute project dir for $PROJECT_DIR.
+ From Carl Christensen
+
+ samples/wrapper/
+ wrapper.cpp
+
+David 19 Feb 2011
+ - 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)
+
+ client/
+ app.cpp
+ cs_prefs.cpp
+ lib/
+ win_util.cpp
+ samples/wrapper/
+ wrapper.cpp
+ win_build/
+ boinc.sln
+
+David 20 Feb 2011
+ - wrapper: Windows fixes
+
+ samples/wrapper/
+ wrapper.cpp
+
+David 20 Feb 2011
+ - client: fix disk-space accounting bug when user quotas in use
+ (Windows)
+
+ lib/
+ filesys.cpp
+
+Charlie 21 Feb 2011
+ - client: fix compiler warning.
+
+ client/
+ cs_notice.cpp
+
+David 22 Feb 2011
+ - client: add cpu_sched debug messages for anti-domino-effect
+ and anti-thrasing mechanisms
+ - wrapper: to kill an app, use SIGTERM instead of SIGKILL
+ client/
+ acct_mgr.cpp
+ cpu_sched.cpp
+ samples/wrapper/
+ wrapper.cpp
+
+David 22 Feb 2011
+ - 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()
+
+ sched/
+ sched_customize.cpp
+ lib/
+ procinfo.h
+ procinfo.cpp (new)
+ procinfo_win.cpp
+ procinfo_unix.cpp
+ Makefile.am
+ samples/wrapper/
+ wrapper.cpp
+
+David 22 Feb 2011
+ - client: send
+ at start of scheduler and account manager requests.
+
+ client/
+ cs_scheduler.cpp
+ acct_mgr.cpp
+ cpu_sched.cpp
+
+David 22 Feb 2011
+ - client: don't send .
+ Daemons are started before regular tasks,
+ run concurrently with them, and are killed on exit.
+
+ samples/wrapper/
+ wrapper.cpp
+
+David 24 Feb 2011
+ - client: remove auto update stuff from makefiles.
+ This feature is mothballed.
+
+ client/
+ client_state.cpp,h
+ scheduler_op.cpp,h
+ file_names.cpp
+ cs_scheduler.cpp
+ cs_statefile
+ Makefile.am
+
+David 24 Feb 2011
+ - wrapper: fixes from Carl
+
+ lib/
+ procinfo_win.cpp
+ samples/wrapper/
+ wrapper.cpp
+
+Charlie 24 Feb 2011
+ - Mac: Remove auto_update.cpp, auto_update.h from XCode Project.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 25 Feb 2011
+ - user web:
+ - in friend request notification, link to user page
+ - in user page, show ID
+ - remove "Account data for " in page title
+
+ html/
+ inc/
+ user.inc
+ friend.in
+ user/
+ show_user.php
+
+Rytis 26 Feb 2011
+ - user web: add a config option to always show workunit details when using
+ adaptive replication.
+
+ html/user/
+ workunit.php
+
+David 26 Feb 2011
+ - user web: fix wrong user ID
+
+ html/inc/
+ user.inc
+
+David 26 Feb 2011
+ - back end: add two example trickle handlers:
+ trickle_credit: grants credit based on CPU time reported in msg
+ trickle_echo: echoes trickle-up as a trickle-down
+
+ sched/
+ trickle_handler.cpp, h (new)
+ sched_result.cpp
+ trickle_credit.cpp
+ credit.cpp,h
+ trickle_echo.cpp
+ validator.cpp
+ Makefile.am
+
+David 28 Feb 2011
+ - user web: add a feature allowing project admins to control
+ whether news items are exported as notices.
+ The creator of a news item is shown a "Don't export" or "Export"
+ button on the thread page.
+ By default, news items are exported.
+
+ db/
+ schema.sql
+ html/
+ inc/
+ news.inc
+ user/
+ forum_thread.php
+ notices.php
+ forum_thread_status.php
+
+David 28 Feb 2011
+ - user web: bug fix to the last checkin
+ - boinccmd: fix --get_project_config operation
+
+ html/user;
+ forum_thread_status.php
+ client/
+ boinc_cmd.cpp
+
+David 2 Mar 2011
+ - user web: show date/time on friend request page
+
+ html/user/
+ friend.php
+
+Rom 2 Mar 2011
+ - MGR: Properly handle the case where the only notice in the manager
+ is the 'no notice' notice and then we transition to a single notice
+ from another source.
+
+ clientgui/
+ NoticeListCtrl.cpp, .h
+
+David 2 Mar 2011
+ - manager: show notice create time rather than arrival time
+ - client: don't show "need network" notice if we don't need it
+
+ clientgui/
+ NoticeListCtrl.cpp
+ client/
+ cs_notice.cpp
+
+David 2 Mar 2011
+ - client: when get a bunch of notices from RSS feed,
+ sort them by create time before appending to notice list.
+ This ensures that, in the Notices tab,
+ notices are ordered decreasing create time within an RSS feed
+ (though not necessarily across feeds)
+
+ client/
+ cs_notice.cpp,h
+
+Rom 2 Mar 2011
+ - MGR: Turn -boincargs into a string instead of an option.
+
+ clientgui/
+ BOINCGUIApp.cpp
+
+Rom 2 Mar 2011
+ - MGR: Turn off the task pane for the notices tab.
+
+ clientgui/
+ ViewNotices.cpp
+
+Rom 2 Mar 2011
+ - MGR: Disable our color scheme is a non-white background is selected
+ for the current theme. My commit on 3 Mar 2010 wasn't good enough
+ for High-Contrast themes.
+
+ clientgui/
+ BOINCBaseView.cpp
+ DlgEventLog.cpp
+
+David 2 Mar 2011
+ - client: in deciding whether to remove the "need network" notice,
+ we were using the wrong (too high-level) interface
+
+ client/
+ cs_notice.cpp
+
+Charlie 3 Mar 2011
+ - MGR: Remove the old SimpleGUI from the projects. The following
+ source files are no longer used; they have been removed from the
+ builds, but have not yet been deleted from the SVN repository:
+ sg_BoincSimpleGUI.cpp,.h, sg_ClientStateIndicator.cpp,.h,
+ sg_ImageButton.cpp,.h, sg_ImageLoader.cpp,.h, sg_ProgressBar.cpp,.h,
+ sg_ProjectsComponent.cpp,.h, sg_StatImageLoader.cpp,.h,
+ sg_ViewTabPage.cpp,.h
+
+ clientgui/
+ AdvancedFrame.cpp, .h
+ BOINCGUIApp.cpp, .h
+ Events.h
+ Makefile.am
+ sg_BoincSimpleFrame.cpp, .h
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ win_build/
+ boincmgr.vcproj
+
+Rom 3 Mar 2011
+ - MGR: Change the reminder frequency interval to hours and adjust the min/max
+ values to 0/24. Default value is now 6 hours between notification reminders.
+
+ clientgui/
+ BOINCBaseFrame.cpp
+ BOINCDialupManager.cpp
+ BOINCTaskBar.cpp
+ DlgOptions.cpp
+
+David 3 Mar 2011
+ - client: fix inaccuracy in RR simulation reported by Bill Barber.
+ The problem arises when there are jobs of projects
+ with widely differing resource shares,
+ and results in an overestimation of saturated time.
+
+ Old: at the start of simulation, call WORK_FETCH::compute_shares()
+ to get resources of runnable projects.
+ Use these throughout the simulation.
+
+ Problem: suppose you have 2 runnable projects;
+ P1 has large RS, P2 has small RS.
+ P1's jobs finish quickly.
+ P2's jobs then are running alone,
+ but their FLOPS is scaled (incorrectly) by P2's small RS.
+
+ Solution: recompute relative CPU resource share within the
+ simulation loop,
+ and compute it over the projects that have actives jobs
+ in the simulation.
+ client/
+ rr_sim.cpp
+ client_types.h
+
+Charlie 3 Mar 2011
+ - MGR: reduce duration of notifications on Mac from 15 to 5 seconds.
+
+ clientgui/
+ BOINCTaskBar.cpp
+
+David 3 Mar 2011
+ - manager: fix copyright date in about box
+
+ clientgui/
+ DlgAbout.cpp
+
+David 4 Mar 2011
+ - scheduler: if we're not sending jobs because of user prefs
+ (no CPU, no GPU, selected apps)
+ send a message, not a notice.
+ Assume the user knew what they were doing,
+ and doesn't want to be nagged.
+ - scheduler: check for the existence of an app version
+ before checking for user selected-app prefs.
+ This prevents sending "no jobs available for selected apps"
+ message when no app versions exist for non-selected apps
+ - scheduler: use "tasks" instead of "work" in user messages
+
+ sched/
+ sched_array.cpp
+ sched_send.cpp
+
+David 4 Mar 2011
+ - client: fix spurious error when removing a notice RSS feed
+
+ client/
+ cs_notice.cpp
+
+David 6 Mar 2011
+ - client: print smoothed as well as instantaneous WSS
+ - manager: make RPC reason strings translatable
+
+ client/
+ app.cpp
+ clientgui/
+ ViewProjects.cpp
+
+Rom 7 Mar 2011
+ - MGR: Refactor part of the Options dialog out of the Advanced Frame
+ code.
+ - MGR: Change the Reminder Frequency option in the Options dialog to
+ a combo box.
+
+ TODO: Change the taskbar logic to handle the 'always' case.
+
+ clientgui/
+ AdvancedFrame.cpp
+ BOINCBaseFrame.cpp, .h
+ BOINCTaskBar.cpp
+ DlgOptions.cpp, .h
+
+Rom 7 Mar 2011
+ - MGR: ComboBox's are zero index based.
+
+ clientgui/
+ DlgOptions.cpp, .h
+
+Rom 7 Mar 2011
+ - MGR: Handle the 'always' option by only popping a new balloon if the
+ unread notice count differs from the last time we popped a
+ balloon.
+
+ clientgui/
+ BOINCTaskBar.cpp, .h
+
+Rom 7 Mar 2011
+ - MGR: Don't attempt to set the project or account manager if the project
+ list control does not contain any items. This can cause a crash
+ if the all_projects_list.xml is empty.
+
+ clientgui/
+ AccountManagerInfoPage.cpp
+ ProjectInfoPage.cpp
+
+Charlie 7 Mar 2011
+ - MGR: Fix compiler warning.
+
+ clientgui/
+ DlgOptions.cpp
+
+David 7 Mar 2011
+ - client: fix to [23162] that broke work fetch
+
+ client/
+ work_fetch.cpp
+
+David 8 Mar 2011
+ - client: don't put CDATA around account manager opaque data
+ in request msg
+
+ client/
+ acct_mgr.cpp
+
+Charlie 10 Mar 2011
+ - MGR: Remove from Skin Manager items no longer used by SimpleGUI.
+ The following source files are no longer used; they have been
+ removed from the builds, but have not yet been deleted from the
+ SVN repository:
+
+ clientgui/
+ common/
+ wxFlatNotebook.cpp,.h
+ wxFlatNotebookImages.h
+ wxFNBDropTarget.h
+ res/
+ skins/
+ default/
+ graphic/
+ spacer_image.xpm
+ state_indicator_background_image.xpm
+ connecting_indicator_image.xpm
+ error_indicator_image.xpm
+ workunit_active_image.xpm
+ workunit_suspended_image.xpm
+ workunit_tab_area_background_image.xpm
+ workunit_area_background_image.xpm
+ workunit_animation_background_image.xpm
+ workunit_gauge_background_image.xpm
+ workunit_gauge_progress_indicator_image.xpm
+ project_area_background_image.xpm
+ attach_project_button.xpm
+ attach_project_clicked_button.xpm
+ help_button.xpm
+ help_clicked_button.xpm
+ right_arrow_button.xpm
+ right_arrow_clicked_button.xpm
+ left_arrow_button.xpm
+ left_arrow_clicked_button.xpm
+ save_button.xpm
+ save_clicked_button.xpm
+ synchronize_button.xpm
+ synchronize_clicked_button.xpm
+ cancel_button.xpm
+ cancel_clicked_button.xpm
+ close_button.xpm
+ close_clicked_button.xpm
+ copy_all_button.xpm
+ copy_all_clicked_button.xpm
+ copy_button.xpm
+ copy_clicked_button.xpm
+ messages_link_image.xpm
+ messages_alert_link_image.xpm
+ suspend_link_image.xpm
+ resume_link_image.xpm
+ preferences_link_image.xpm
+ advanced_link_image.xpm
+ wizard_bitmap.xpm
+
+ The following files have been modified:
+
+ clientgui/
+ BOINCGUIApp.cpp
+ SkinManager.cpp, .h
+ sg_DlgPreferences.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ win_build/
+ boincmgr.vcproj
+
+Bernd 10 Mar 2011
+ - unix build system: generate_svn_version
+ - extended support for git repos:
+ generate numeric version from last commit date,
+ record host, remote and branch names
+
+ generate_svn_version.sh
+
+David 10 Mar 2011
+ - client (Win): if available, use GetActiveProcessorCount()
+ rather than GetSystemInfo() to get the # of CPUs.
+ GetSystemInfo() returns the # of CPUs in the caller's
+ processor group, which is always <= 64 even on hosts
+ with > 64 CPUs
+
+ client/
+ hostinfo_win.cpp
+
+David 10 Mar 2011
+ - manager: Add Project wizard:
+ if a project has old server software and
+ doesn't export platform list (e.g. Superlink)
+ don't show a confusing "this project may not support
+ your type of computer" message;
+
+ clientgui/
+ ProjectInfoPage.cpp
+
+Charlie 11 Mar 2011
+ - MGR: Fill in initial URL on Account Manager Wizard Selection page.
+ - MGR: Add a new page to Attach Wizard to be displayed if the user
+ rejects the Terms of Use.
+ - lib: Make sorts of projects and account mangers case-insensitive.
+
+ clientgui/
+ AccountManagerInfoPage.cpp
+ Makefile.am
+ TermsOfUsePage.cpp
+ UserDisagreesPage.cpp, .h (new)
+ WizardAttach.cpp, .h
+ lib/
+ gui_rpc_client_ops.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ win_build/
+ boincmgr.vcproj
+
+Charlie 11 Mar 2011
+ - MGR: Fix compiler warning.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+
+Rytis 12 Mar 2011
+ - user web: implement Memcache as an option for caching (defaults to
+ in-file cache). Can be enabled by installing php5-memcached package
+ and defining MEMCACHE_SERVERS in project.inc
+
+ html/
+ inc/
+ cache.inc
+ project.sample/
+ project.inc
+ user/
+ show_user.php
+ team_display.php
+ top_hosts.php
+ top_teams.php
+ top_users.php
+ view_profile.php
+
+David 12 Mar 2011
+ - move client simulator PHP code to doc/sim
+
+ doc/sim/
+ various
+
+Rytis 13 Mar 2011
+ - user web: change remaining occurrences of fullpage caching to object
+ cache. start_cache() and end_cache() are now deprecated.
+
+ html/
+ inc/
+ cache.inc
+ team.inc
+ user/
+ download_network.php
+ server_status.php
+ team_members.php
+ userw.php
+
+David 13 Mar 2011
+ - validator: if --credit_from_wu is set, and no credit specified in WU,
+ assign zero credit and keep going
+ - client simulator work
+
+ client/
+ sim.cpp
+ makefile_sim
+ cs_notice.cpp
+ cpu_sched.cpp
+ sched/
+ validator.cpp
+
+David 14 Mar 2011
+ - API: get rid of BOINC_OPTIONS::backwards_compatible_graphics.
+ Not necessary.
+ - wrapper: add optional 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.
+
+ samples/wrapper/
+ wrapper.cpp
+ api/
+ boinc_api.cpp,h
+
+Rom 14 Mar 2011
+ - SCR: Follow the Mac's lead and gracefully exit the Data Management
+ thread. Preserve the handle to take more drastic actions should
+ that not work.
+
+ clientscr/
+ mac_saver_module.cpp, .h
+ screensaver.cpp
+ screensaver_win.cpp, .h
+
+David 14 Mar 2011
+ - client simulator stuff
+
+ html/user/
+ forum_thread.php
+ client/
+ cpu_sched.cpp
+
+David 14 Mar 2011
+ - ops: update script that counts GPUs
+
+ html/ops/
+ nvidia.php
+
+Charlie 14 Mar 2011
+ - SCR: Fix compile breaks.
+
+ clientscr/
+ mac_saver_module.cpp
+
+David 15 Mar 2011
+ - client simulator stuff
+ client/
+ sim_cpp,h
+
+David 16 Mar 2011
+ - wrapper: improved subprocess cleanup, Unix
+
+ samples/wrapper/
+ wrapper.cpp
+ client/
+ sim.cpp
+
+Bernd 18 Mar 2011
+ Einstein@home extensions:
+ - protect malloc.h
+ - validator: allow to update 'random' result field
+ - assimilator: add global variables results_prefix and transcripts_prefix,
+ set on command-line
+
+ sched/
+ assimilator.cpp
+ assimilate_handler.h
+ hr_info.cpp
+ db/
+ boinc_db.cpp
+
+Bernd 18 Mar 2011
+ - (locality) scheduler:
+ omit confusing message & backoff in mixed scheduling
+
+ sched/
+ sched_locality.cpp
+
+David 20 Mar 2011
+ - client and API: pass "network suspended" flag from client to app;
+ make it available as part of BOINC_STATUS
+
+ api/
+ boinc_api.cpp,h
+ html/inc/
+ uotd.inc
+ client/
+ app_control.cpp
+
+David 21 Mar 2011
+ - wrapper: macro-substitute $NTHREADS with the --nthreads option value
+ in job.xml
+
+ samples/wrapper/
+ wrapper.cpp
+
+Rom 22 Mar 2011
+ - 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
+
+Charlie 23 Mar 2011
+ - client: Define MAXPATHLEN if not defined for compatibility with HURD.
+
+ client/
+ hostinfo_unix.cpp
+
+David 24 Mar 2011
+ - define MAXPATHLEN, if needed, in filesys.h
+ - fix typo in a GUI RPC handler
+
+ lib/
+ filesys.h
+ api/
+ mac_icon.cpp
+ graphics2_unix.cpp
+ client/
+ switcher.cpp
+ gui_rpc_server_ops.cpp
+ check_security.cpp
+ hostinfo_unix.cpp
+
+Charlie 24 Mar 2011
+ - client: Begin adding OpenCL support.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ cl.h (added)
+ cl_platform.h (added)
+ coproc.h
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 24 Mar 2011
+ - 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. NVIDIA rather than
+ - client: in account manager replies, parse elements of the form
+ NAME
+ indicating the GPUs of type NAME should not be used.
+ This allows account managers to control GPU types
+ not hardwired into the client.
+ Note: and will continue to be supported.
+ - scheduler RPC reply: add
+ NAME
+ (NAME = GPU name)
+ to indicate that the project has no jobs for the indicated GPU type.
+ etc. are still supported
+ - client/lib: remove set_debts() GUI RPC
+ - client/scheduler RPC
+ remove etc. (superceded by no_app)
+ Exception: elements in sched request
+ still have and .
+ 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
+
+ client/
+ acct_mgr.cpp,h
+ app_start.cpp
+ client_state.cpp,h
+ client_types.cpp,h
+ coproc_detect.cpp
+ cpu_sched.cpp
+ cs_account.cpp
+ cs_prefs.cpp
+ cs_scheduler.cpp
+ cs_statefile.cpp
+ gui_rpc_server_ops.cpp
+ rr_sim.cpp
+ scheduler_op.cpp.h
+ work_fetch.cpp,h
+ lib/
+ coproc.h
+ hostinfo.cpp,h
+ win_build/
+ boinc_cli.vcproj
+
+Charlie 25 Mar 2011
+ - client: Temporarily work around compile breaks introduced by the changes
+ to generalize the GPU framework.
+ NOTE to David: please look for "//TODO: David, please fix" in these
+ files and fix as appropriate.
+
+ client/
+ app_start.cpp
+ boinc_cmd.cpp
+
+David 25 Mar 2011
+ - manager: fix crashing bug when notices (or other text parsed by XML_PARSER)
+ contain non-ASCII characters.
+ Rom: please port to 6.12
+
+ lib/
+ parse.cpp
+
+David 25 Mar 2011
+ - client: Unix compile fixes
+
+ client/
+ app_start.cpp
+ boinc_cmd.cpp
+
+Charlie 25 Mar 2011
+ - client: Continue adding OpenCL support.
+ - lib: Fix inconsistent line endings in coproc.cpp.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.cpp, .h
+
+David 25 Mar 2011
+ - manager: fix the above to detect premature EOF correctly
+
+ lib/
+ parse.cpp
+
+David 25 Mar 2011
+ - scheduler: compile fixes
+
+ sched/
+ sched_customize.cpp
+ sched_version.cpp
+ sched_send.cpp
+ handle_request.cpp
+ sched_types.cpp
+
+David 25 Mar 2011
+ - API: compile fixes for MinGW. Fixes #955. from Matt Arsenault
+
+ lib/
+ stackwalker_imports.h
+ boinc_win.h
+ Makefile.mingw
+ api/
+ Makefile.mingw
+
+David 27 Mar 2011
+ - client: Win OpenCL fix from [P3D] Crashtest
+
+ client/
+ coproc_detect.cpp
+
+Rom 28 Mar 2011
+ - MGR: Handle the link click events from the notices control for the
+ Simgle GUI notices dialog box.
+
+ clientgui/
+ sg_DlgMessages.cpp, .h
+
+Rom 28 Mar 2011
+ - API: Flush buffers before terminating.
+ - SCR: Flush buffers before terminating.
+
+ api/
+ boinc_api.cpp
+ clientscr/
+ screensaver_win.cpp
+
+Charlie 29 Mar 2011
+ - MGR: Fix compile break.
+
+ clientgui/
+ sg_DlgMessages.h
+
+Charlie 29 Mar 2011
+ - client: Continue adding OpenCL support.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.cpp, .h
+
+Rom 29 Mar 2011
+ - client: prevent client from crashing in OpenCL code
+ - client: fix function prototypes for dynamically calling
+ OpenCL functions.
+
+ client/
+ coproc_detect.cpp
+
+Rom 29 Mar 2011
+ - MGR: Remove UserDisagreesPage from the wizard, replace functionality
+ by enabling/disabling the next button as needed.
+ - MGR: Fix a couple of warnings.
+
+ clientgui/
+ sg_CustomControls.cpp
+ sg_DlgMessages.cpp
+ TermsOfUsePage.cpp
+ UserDisagreesPage.cpp, .h (Deleted)
+ WizardAttach.cpp, .h
+
+Rom 29 Mar 2011
+ - WINSCR: So after looking over all the logs from WCG and now from Jacob
+ Klein a pattern started to emerge. At the end of the log files the last
+ message logged was 0x12 which translates into WM_QUIT. The latest
+ documentation on WM_QUIT states it should never show up in the message
+ loop to begin with.
+
+ The docs now say that WM_QUIT should not be sent to the message loop by
+ way of PostMessage. We have been doing things this way for over 5 years.
+
+ Change the shutdown logic so that only the primary curtain window can call
+ PostQuitMessage() and all other curtain windows just exit when they receive
+ a WM_DESTROY message.
+
+ I'm not sure what causes this to be a problem on some machines and not
+ others. But preliminary results from Jacob are encouraging.
+
+ clientscr/
+ screensaver_win.cpp, .h
+
+Charlie 30 Mar 2011
+ - Mac: Eliminate unused source files UserDisagreesPage.cpp, .h from Mac
+ project.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Rom 30 Mar 2011
+ - client: OpenCL Profile Version wasn't being used anywhere and trying to get it
+ was causing a crash on Windows. Remove for now.
+ - client: Fix ATI OpenCL detection so that the coproc test messages will appear.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.h
+
+Rom 30 Mar 2011
+ - client: Beef up the trace logging when attempting to match OpenCL devices to their
+ native counterparts.
+
+ client/
+ coproc_detect.cpp
+
+Charlie 30 Mar 2011
+ - client: Continue adding OpenCL support.
+ We must check all OpenCL platforms; apparently ATI's platform reports only
+ ATI / AMD GPUs, and NVIDIA's platform reports only NVIDIA GPUs.
+ The NVIDIA vendor may be reported as "NVIDIA" or"NVIDIA Corporation"
+ Note: The client currently always says "No usable GPUs found" because
+ David has not yet completed implementing the changes begun on 24 Mar.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.h
+
+Rom 31 Mar 2011
+ - lib: Bring header and implementation files into sync over the coproc parsing
+ function.
+
+ lib/
+ coproc.cpp, .h
+
+Rom 31 Mar 2011
+ - lib: Fix build break for Linux.
+
+ lib/
+ procinfo.cpp
+
+Charlie 31 Mar 2011
+ - Fix Win build breaks caused by renaming of directory coprocs/cuda/
+ to coprocs/NVIDIA/.
+ - Eliminate redundant cl.h and clpatform.h in lib/ directory because
+ Rom has added them to new coprocs/OpenCL/include/ directory.
+ NOTE: It is risky to have multiple copies of the same file in the same
+ source tree, as they can easily get out of sync.
+
+ Makefile.incl
+ lib/
+ coproc.h
+ cl.h (deleted)
+ cl_platform.h (deleted)
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ win_build/
+ boinc_cli.vcproj
+ boinc_os_ss.vcproj
+ boinc_ss.vcproj
+ boinccmd.vcproj
+ boinclog.vcproj
+ boincmgr.vcproj
+ example_app_multi_thread.vcproj
+ libboinc.vcproj
+ libboinc_staticcrt.vcproj
+ libboincapi_staticcrt.vcproj
+ libgraphics2.vcproj
+ sleeper.vcproj
+ uc2.vcproj
+ uc2_graphics.vcproj
+ vboxwrapper.vcproj
+ wrapper.vcproj
+ wrappture_example.vcproj
+
+Charlie 31 Mar 2011
+ - client: Add debug logging to show GPU detection when OpenCL is installed
+ but CAL and / or CUDA is not. (I have verified this works for NVIDIA
+ GPUs on Mac OS 10.6 without CUDA support installed.)
+
+ client/
+ coproc_detect.cpp
+
+David 1 Apr 2011
+ - server/client: make a stripped-down OpenCL header file, lib/cl_boinc.h,
+ for the things that BOINC actually needs
+ (fixes server compile problems)
+ - client: fix various compile errors in coproc_detect.cpp
+
+ lib/
+ coproc.h
+ cl_boinc.h
+ Makefile.am
+ client/
+ coproc_detect.cpp
+
+David 1 Apr 2011
+ - scheduler: removed unused destructors in COPROC that
+ caused scheduler to crash (not sure why)
+
+ sched/
+ sched_types.cpp,h
+ lib/
+ coproc.h
+ procinfo.h
+
+Charlie 1 Apr 2011
+ - Mac: Revise Mac project for deleted coprocs/OpenCL/include/ directory and
+ new cl_boinc.h.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 1 Apr 2011
+ - lib: fix compile warnings by removing virtual functions in COPROC
+
+ lib/
+ coproc.h
+
+David 4 Apr 2011
+ - scheduler: don't send unboundedly many assigned jobs
+ - Makefile: don't include unnecessary files
+
+ sched/
+ sched_assign.cpp
+ Makefile.incl
+
+David 4 Apr 2011
+ - client: discard messages whose create time OR arrival time
+ is more than 30 days ago
+
+ client/
+ cs_notices.cpp
+
+David 4 Apr 2011
+ - client: use larger buffer for app command line,
+ enough to accommodate 64KB from wu.cmdline
+
+ client/
+ app_start.cpp
+
+David 4 Apr 2011
+ - scheduler: and
+ are per-processor, not per-host.
+
+ sched/
+ sched_config.cpp
+ sched_limit.h
+
+David 6 Apr 2011
+ - manager: change simple view notices window title from Messages to Notices
+
+ clientgui/
+ sg_DlgMessages.cpp
+
+David 6 Apr 2011
+ - user web: fix numeric field sanitization in prefs. Fixes #1087.
+ - client: if PREFS::max_ncpus_pct is 0, don't set it to 100;
+ doing so prevents PREFS::max_ncpus from having any effect.
+
+ html/inc/
+ prefs_util.inc
+ lib/
+ prefs.cpp
+
+David 8 Apr 2011
+ - client: defer reporting completed tasks if an upload started recently;
+ we might be able to report more tasks once the upload completes.
+
+ client/
+ cs_scheduler.cpp
+
+David 8 Apr 2011
+ - "upgrade" script: copy sched/fcgi if it exists
+
+ py/Boinc/
+ setup_project.py
+
+David 8 Apr 2011
+ - "upgrade" script: remove --project_root option,
+ and allow full path of project root dir
+ instead of the short name
+
+ tools/
+ upgrade
+
+David 10 Apr 2011
+ - user web: fix "delete profile" function
+
+ html/
+ user/
+ delete_profile.php
+ inc/
+ profile.inc
+
+David 10 Apr 2011
+ - scheduler: failure to set up COPROCS structure correctly
+ led to per-GPU job limits not being enforced.
+
+ lib/
+ coproc.cpp
+
+David 10 Apr 2011
+ - user web: use special icon for hidden threads (from Jord)
+
+ html/
+ inc/
+ forum.inc
+ user/
+ forum_forum.php
+ img/
+ hidden.png
+
+Rom 11 Apr 2011
+ - MGR: Remove unneeded asserts.
+
+ clientgui/
+ BOINCTaskBar.cpp
+
+Rom 13 Apr 2011
+ - MGR: Add missing keyboard accelerators for the event log.
+ - MGR: Re-enable the next button when the terms of use wizard
+ page when the back button is pressed.
+
+ clientgui/
+ DlgEventLog.cpp
+ TermsOfUsePage.cpp
+
+David 13 Apr 2011
+ - admin web: remove options to delete apps and app versions.
+ This is almost always a bad idea.
+
+ html/ops/
+ manage_apps.php
+ manage_app_versions.php
+
+David 13 Apr 2011
+ - client:
+ - add log flag
+ - show trickle-up and int file upload msgs if set
+ - if scheduler RPC reason is trickle-up, say so
+ - manager:
+ - restore "non CPU intensive" to task description
+ - project properties: show if RPC in progress or trickle-up pending.
+ (show these low-probability things only if present)
+ - manager: fix Unix build
+
+ (from Ian Hay)
+
+ clientgui/
+ MainDocument.cpp
+ Makefile.am
+ DlgITemProperties.cpp
+ lib/
+ gui_rpc_client_print.cpp
+ client/
+ log_flags.cpp,h
+ scheduler_op.cpp
+ app.cpp
+ app_control.cpp
+
+Rom 14 Apr 2011
+ - MGR: Check to see if keyboard accelerators can be redefined on the fly.
+
+ clientgui/
+ DlgEventLog.cpp
+
+Rom 14 Apr 2011
+ - MGR: Add missing event handler map item.
+
+ clientgui/
+ sg_DlgMessages.cpp
+
+David 14 Apr 2011
+ - 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
+ 1
+ in its descriptor.
+
+ lib/
+ procinfo.cpp,h
+ samples/wrapper/
+ wrapper.cpp
+ api/
+ boinc_api.cpp,h
+
+David 15 Apr 2011
+ - client: fix bug that cause notice RSS feeds to disappear and reappear,
+ and notices to erroneously be shown as new.
+
+ client/
+ cs_notice.cpp
+
+David 18 Apr 2011
+ - client: when estimating job runtime based on fraction done,
+ use the elapsed time when fraction done was last reported,
+ not current elapsed time.
+ Fix problem where est time remaining increases linearly,
+ then abruptly decreases when new frac done is reported.
+ From Bruce Allen.
+
+ client/
+ app.h
+ app_control.cpp
+ work_fetch.cpp
+
+David 18 Apr 2011
+ - client: fix a couple of the messages that are appended to
+ a job's stderr when the job is aborted
+
+ client/
+ client_state.cpp
+ app_start.cpp
+
+David 18 Apr 2011
+ - user web and notices: fix message describing friend request
+
+ html/inc/
+ friend.inc
+
+David 18 Apr 2011
+ - client: replace % with %% in messages from scheduler
+ (else they're interpreted as format strings)
+
+ client/
+ client_state.h
+ cs_scheduler.cpp
+
+David 18 Apr 2011
+ - client: fix message describing work request
+
+ client/
+ scheduler_op.cpp
+
+Rom 19 Apr 2011
+ - MGR: Adjust the width of the various tabs in advanced view if the notice text
+ width changes.
+ - MGR: Remove dead code.
+
+ clientgui/
+ BOINCBaseFrame.cpp, .h
+ AdvancedFrame.cpp
+
+David 19 Apr 2011
+ - scheduler: don't send translatable messages to pre-6.12 clients
+
+ sched/
+ sched_types.cpp
+
+David 19 Apr 2011
+ - admin web: allow specifying an SVN config dir in the web config file,
+ in case your svn requires a proxy or something.
+ From Boris Dayma.
+
+ html/
+ ops/
+ index.php
+ project.sample/
+ project.inc
+
+David 20 Apr 2011
+ - web: show "logged in as" info on every page;
+ remove funky "log out" link from user page
+ - web: go to home page on logout,
+ not dorky "you are logged out" page
+
+ html/
+ inc/
+ user.inc
+ util.inc
+ user/
+ sample_index.php
+ logout.php
+ project.sample/
+ project.inc
+
+David 20 Apr 2011
+ - web: don't show "log in" link on login or create account pages
+
+ html/
+ inc/
+ util.inc
+ user/
+ login_form.php
+
+David 20 Apr 2011
+ - client: if an app version has a missing GPU,
+ we still need to keep track of the usage
+ and write it to the state file.
+ - get client simulator working again
+
+ client/
+ client_types.cpp,h
+ sim.cpp
+ tools/
+ backend_lib.cpp
+
+Charlie 21 Apr 2011
+ - Mac: Update XCode Project to link procinfo.cpp and procinfo_mac.cpp into
+ boinscr (ss_app) because boinc_api.cpp now calls kill_descendants() and
+ suspend_or_resume_descendants().
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 21 Apr 2011
+ - create_work and other tools: verify that the current dir,
+ parent dir, or BOINC_PROJECT_DIR actually is a project dir.
+ - client simulator: improvements
+
+ sched/
+ sched_config.cpp
+ tools/
+ create_work.cpp
+ lib/
+ coproc.cpp
+ client/
+ client_state.cpp,h
+ sim.cpp
+ work_fetch.cpp
+ cs_statefile.cpp
+
+Charlie 22 Apr 2011
+ - Mac: We no longer request PowerPC applications on Intel Macs
+ because all projects supporting Macs should have Intel
+ applications by now, and PowerPC emulation ("Rosetta") is
+ not always supported in newer versions of OS X.
+
+ client/
+ cs_platforms.cpp
+
+David 23 Apr 2011
+ - client: don't use the Snooze mechanism to handle
+ OS-requested suspension
+ (especially with a 1-hour snooze period).
+ Instead, handle them directly.
+
+ client/
+ client_state.cpp,h
+ cs_prefs.cpp
+ main.cpp
+ sysmon_win.cpp
+ clientgui/
+ MainDocument.cpp
+ lib/
+ common_defs.cpp
+ str_util.cpp
+ sched/
+ get_file.cpp
+ send_file.cpp
+
+David 23 Apr 2011
+ - server: rename send_file to put_file.
+ Factor out put_file() and get_file() functions
+ so they have a C++ API as well as command-line
+
+ sched/
+ put_file.cpp
+ get_file.cpp
+ Makefile.am
+ tools/
+ backend_lib.cpp,h
+ lib/
+ common_defs.h
+
+Charlie 24 Apr 2011
+ - client: fix bug: statement had no effect.
+
+ lib/
+ str_util.cpp
+
+David 24 Apr 2011
+ - account manager RPC: include TIME_STATS and NET_STATS in request message
+
+ client/
+ acct_mgr.cpp
+
+David 24 Apr 2011
+ - client: show error messages from account managers correctly
+ - client/manager: if a job is missing a GPU, show details
+ - client: win compile fix
+
+ client/
+ acct_mgr.cpp
+ client_msgs.cpp,h
+ client_types.cpp
+ sysmon_win.cpp
+
+David 24 Apr 2011
+ - client: simplify the semantics of sticky files:
+ - All sticky files are reported on each scheduler RPC
+ - If a scheduler reply says to delete a file, clear its sticky flag
+ In particular:
+ - remove the "send file list" tag in scheduler RPC replies
+ - remove FILE_INFO::marked_for_delete
+ - remove FILE_INFO::report_on_rpc
+ - remove the request_file_list program
+
+ client/
+ client_types.cpp,h
+ client_state.cpp
+ cs_scheduler.cpp
+ scheduler_op.cpp
+ sched/
+ request_file_list.cpp
+ Makefile.am
+
+David 24 Apr 2011
+ - client: shuffle code to move CONFIG and LOG_FLAGS
+ into lib/cc_config.h,
+ in preparation for adding GUI RPCS
+
+ client/
+ main.cpp
+ log_flags.cpp,h
+ lib/
+ Makefile.am
+ cc_config.cpp,h (new)
+
+Charlie 24 Apr 2011
+ - Mac: Add new cc_config.cpp,h to XCode Project.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Rom 25 Apr 2011
+ - SCR: In certain cases WM_QUIT is sent to the message proc, which is
+ is causing some type of deadlock and we don't break out of the message
+ pump like we are suppose too. For debug purposes, let us call DebugBreak()
+ and see what the other threads are up too.
+
+ clientscr/
+ screensaver_win.cpp
+
+David 25 Apr 2011
+ - validator: fix bug when check_pair() returns retry=true,
+ reported by Travis Desell.
+
+ sched/
+ validator.cpp
+
+David 26 Apr 2011
+ - client: fix bugs in runtime estimation of jobs that
+ have run before but are not currently running.
+ Old:
+ - We maintain the most recent fraction_done in state file.
+ But for apps that checkpoint seldom or never,
+ this is not the relevant value,
+ and frac done may go down when the app runs.
+ - fraction_done_elapsed_time is not initialized,
+ and can have garbage values for jobs that haven't run yet.
+ New:
+ - Record, in the state file, the values of
+ fraction_done and fraction_done_elapsed_time
+ at the most recent checkpoint.
+ When the client starts up, use these values.
+
+ client/
+ app.cpp,h
+ app_control.cpp
+
+David 26 Apr 2011
+ - web: fix infinite recursion when project is down
+
+ html/inc/
+ util.inc
+
+Rom 26 Apr 2011
+ - 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
+
+David 26 Apr 2011
+ - web: eliminate double calls to page_head()
+
+ html/inc/
+ util.inc
+
+David 26 Apr 2011
+ - web: fix bug that cause "use signature" preference to be ignored
+
+ html/user/
+ forum_reply.php
+
+David 26 Apr 2011
+ - client: fix bug in [23431]
+
+ client/
+ client_types.cpp
+
+Charlie 27 Apr 2011
+ - lib, MGR: Implement get_cc_config, set_cc_config RPCs.
+
+ client/
+ log_flags.cpp
+ clientgui/
+ AsyncRPC.cpp,.h
+ lib/
+ cc_config.cpp,.h
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ win_build/
+ boinc_os_ss.vcproj
+ boinc_ss.vcproj
+ boincmgr.vcproj
+
+Charlie 28 Apr 2011
+ - MGR: Begin adding Exclusive Apps pane to Computing Prefs dialog.
+ - MGR: Implement Manage Settings menu item in Simple GUI.
+
+ clientgui/
+ DlgAdvPreferences.cpp
+ DlgAdvPreferencesBase.cpp,.h
+ sg_BoincSimpleFrame
+
+David 28 Apr 2011
+ - client: fix bug that prevented work fetch in some cases
+
+ client/
+ client_state.cpp
+ main.cpp
+ work_fetch.cpp
+ lib/
+ coproc.h
+ hostinfo.cpp
+
+David 28 Apr 2011
+ - client: change the handling of account manager replies:
+ Old:
+ If the AM sends us a project we're already attached to,
+ and the authenticator is different,
+ print an error message and don't change anything.
+ Problem:
+ If the AM is using weak authenticators,
+ and the user has changed their password,
+ the weak authenticator changes.
+ In this case the AM will send the new weak auth,
+ the client will ignore it,
+ and all subsequent scheduler RPCs will fail
+ until the user removes/adds the project.
+ Solution:
+ If the AM sends us a new auth for a project, use it.
+ Note:
+ From the time the password is changed on the project
+ to the next AM RPC,
+ the client will have a bad weak auth and scheduler RPCs will fail.
+ That's OK.
+
+ client/
+ acct_mgr.cpp
+
+David 28 Apr 2011
+ - scheduler: compile fix
+ - client: don't print "Insufficient GPU" messages
+ unless is set
+
+ client/
+ cpu_sched.cpp
+ html/inc/
+ util.inc
+ sched/
+ sched_types.cpp
+
+David 28 Apr 2011
+ - client: update to previous commit:
+ only change the authenticator if both old and new
+ authenticators are weak
+ (strong authenticators don't change).
+
+ client/
+ acct_mgr.cpp
+
+Charlie 29 Apr 2011
+ - MGR: Continue adding Exclusive Apps pane to Computing Prefs dialog.
+ - lib: add missing items in CONFIG, PROXY_INFO struct initializers.
+
+ client/
+ log_flags.cpp,.h
+ clientgui/
+ DlgAdvPreferences.cpp,.h
+ DlgAdvPreferencesBase.cpp
+ lib/
+ cc_config.cpp,.h
+ gui_rpc_client_ops.cpp
+ proxy_info.cpp
+
+Rom 29 Apr 2011
+ - VBOX: Checkpoint, Re-implement the start/stop/suspend/resume/is_running
+ and is_registered functions using the vboxmanage app.
+ - VBOX: Simplify the virtualbox_vbm_popen function and remove a buffer
+ copy operation.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+
+David 29 Apr 2011
+ - GUI RPC client library: increase request buffer size
+ from 4KB to 100B
+
+ lib/
+ gui_rpc_client.cpp
+
+Rom 29 Apr 2011
+ - VBOX: Checkpoint, Re-implement the registering and un-registering of the
+ vm using the vboxmanage app.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vm.cpp, .h
+
+David 29 Apr 2011
+ - client: increase request msg buffer size for GUI RPCs
+ client/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.cpp
+
+Charlie 29 Apr 2011
+ - MGR: Fix a few bugs in Exclusive Apps pane of Computing Prefs dialog.
+
+ clientgui/
+ DlgAdvPreferences.cpp
+ lib/
+ cc_config.cpp
+
+Charlie 1 May 2011
+ - lib: initialize data_dir in CONFIG::defaults(); don't write to
+ cc_config.xml if empty string, because older versions of BOINC choke.
+
+ lib/
+ cc_config.cpp
+
+Rom 3 May 2011
+ - VBOX: Handle both abort scenarios
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vm.cpp, .h
+
+Charlie 4 May 2011
+ - MGR: Continue adding Exclusive Apps pane to Computing Prefs dialog.
+
+ clientgui/
+ DlgAdvPreferences.cpp
+ DlgAdvPreferencesBase.cpp
+
+David 4 May 2011
+ - vbox wrapper: add Makefile
+ - notices: fix bug where the URL in "friend request" notices
+ doesn't work if you're not already logged in.
+
+ html/
+ inc/
+ friend.inc
+ util.inc
+ user/
+ friend.php
+ login_form.php
+ samples/vboxwrapper/
+ vbox.cpp
+ Makefile
+
+Rom 4 May 2011
+ - VBOX: Add function for a host being able to execute tasks within
+ guest VMs.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vm.cpp, .h
+
+Rom 4 May 2011
+ - VBOX: Switch to using CreateProcess and CreatePipe on Windows, otherwise we
+ get a bunch of flicking windows when we preform an operation against
+ VirtualBox.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Charlie 5 May 2011
+ - MGR: Fix compiler warning.
+
+ clientgui/
+ DlgAdvPreferences.cpp
+
+David 5 May 2011
+ - web: don't show login stuff on server status page
+
+ html/inc/
+ util.inc
+
+David 5 May 2011
+ - web: don't error out on old-style notice URL
+
+ sched/
+ validator.cpp
+ html/user/
+ friend.php
+
+David 5 May 2011
+ - web RPC: add RPC for getting teams by country
+
+ html/user/
+ team_search.php
+
+David 6 May 2011
+ - wrapper: tell the client when we checkpoint
+ (else checkpoint_elapsed_time etc. don't get set)
+ - make_project: enable update_stats by default
+ - update_stats: add --min_age option
+
+ sched/
+ update_stats.cpp
+ tools/
+ make_project
+ samples/wrapper/
+ wrapper.cpp
+
+Charlie 7 May 2011
+ - Win: add missing procinfo_win.cpp to Windows libboinc project.
+
+ win_build/
+ libboinc.vcproj
+
+David 7 May 2011
+ - client: fix bug that broke work fetch.
+ We can't set coprocs.n_rsc to zero in CONFIG::defaults().
+ - multi_thread app: update initialization
+
+ lib/
+ cc_config.cpp
+ samples/multi_thread/
+ multi_thread.cpp
+
+David 7 May 2011
+ - client: add config option.
+ Defines the transfer rate below which the connection
+ is considered idle, and timeout starts
+
+ lib/
+ cc_config.cpp,h
+ client/
+ http_curl.cpp
+ cs_files.cpp
+
+David 7 May 2011
+ - client: implement "report immediately" at the level of
+ individual jobs rather than globally.
+ To use this, projects must add
+ to the elements in job templates
+
+ client/
+ client_types.cpp,h
+ cs_scheduler.cpp
+
+Rom 9 May 2011
+ - VBOX: Implement basic cpu time accounting and checkpointing
+ for VMs.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
+ vm.cpp, .h
+
+David 10 May 2011
+ - client: don't check memory usage immediately after hibernation
+
+ client/
+ client_state.h
+ app.cpp
+
+David 10 May 2011
+ - vbox wrapper: updates
+
+ samples/vboxwrapper/
+ vbox.cpp
+ vm.cpp,h
+
+Charlie 10 May 2011
+ - MGR: Fixes to new Simple GUI for Linux.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_ProjectPanel.cpp
+
+Charlie 11 May 2011
+ - MGR: Fixes to new Simple GUI for Linux.
+
+ clientgui/
+ sg_PanelBase.cpp, .h
+ sg_TaskPanel.cpp
+
+David 11 May 2011
+ - Change the way update_versions works, and reimplement it in PHP.
+ Problems with the old version:
+ - Lots of info encoded in file and directory names: messy kludge
+ - The convention that directory name == main program name
+ created a bad situation when using the wrapper:
+ if you made a new version of your application,
+ you were forced make a new version of the wrapper
+ just so it could have a different name.
+ The new version is described here:
+ http://boinc.berkeley.edu/trac/wiki/AppVersionNew
+ - Remove some Python code that suppored the old version
+ - client: some fixes to dir_size() that might fox
+ a buffer overflow when using symbolic links
+
+ tools/
+ update_versions
+ html/inc/
+ boinc_db.inc
+ lib/
+ filesys.cpp
+ py/Boinc/
+ tools.py
+
+David 11 May 2011
+ - client: show HTTP errors in text form as well as number
+
+ client/
+ pers_file_xfer.cpp
+ file_xfer.cpp
+
+David 11 May 2011
+ - client: fix problem with recursion in dir_size(), this time for real.
+
+ lib/
+ filesys.cpp
+
+Charlie 12 May 2011
+ - MGR: Fixes to new Simple GUI for Linux.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_PanelBase.cpp, .h
+
+Charlie 13 May 2011
+ - MGR: Fixes to new Simple GUI for Linux and Windows.
+ - MGR: Fix logic to enable / disable Show Graphics in new Simple GUI.
+ - MGR: make sure new Simple GUI Pause / Resume button is large enough
+ for the larger of the localized words for Pause and Resume; do
+ the same for the Add Project / Synchronize button.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_PanelBase.cpp, .h
+ sg_ProjectPanel.cpp, .h
+ sg_TaskCommandPopup.cpp, .h
+ sg_TaskPanel.cpp, .h
+
+Charlie 13 May 2011
+ - lib: Fix compile break on Windows.
+
+ lib/
+ filesys.cpp
+
+David 13 May 2011
+ - create_work: allow multiple URLs for non-local input files
+ (from Zoltan Farkas)
+ - scheduler: fix message describing per-app limits
+
+ sched/
+ sched_main.cpp
+ tools/
+ backend_lib.cpp
+ html/project.sample/
+ project.inc
+
+David 13 May 2011
+ - scheduler: per-processor limits should be based on
+ "effective" # of processors (taking prefs into account)
+ rather than the physical number
+
+ sched/
+ sched_send.cpp
+ sched_limit.h
+
+David 13 May 2011
+ - client/manager: don't show resource usage for non-CPU-intensive jobs
+
+ client/
+ client_types.cpp
+ clientgui/
+ MainDocument.cpp
+
+Charlie 16 May 2011
+ - MGR: New Simple GUI: better displays if no tasks or no projects.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_ProjectPanel.cpp
+
+David 16 May 2011
+ - client: XML-escape the contents of stderr files;
+ otherwise non-ASCII characters in client_state.xml
+ make it invalid XML
+ - client: fix (I think) to scheduling logic.
+ a job is preemptable if it's finished its time slice and
+ Old: has checkpointed in last 10 sec
+ New: has checkpointed since the end of the time slice
+
+ client/
+ app_control.cpp
+ cpu_sched.cpp
+ api/
+ boinc_api.cpp
+ lib/
+ Makefile.am
+
+David 17 May 2011
+ - update_versions: fix bug in version number parsing (from Kevin)
+
+ tools/
+ update_versions
+
+David 17 May 2011
+ - scheduler: if an in-progress limit is given in config_aux.xml,
+ and is not specified, default it to false.
+ - scheduler: add some log messages
+
+ sched/
+ sched_limit.cpp
+ sched_version.cpp
+ sched_send.cpp
+ sched_main.cpp
+
+David 17 May 2011
+ - scheduler: add config option.
+ If set, and a WU has nonzero batch,
+ it is interpreted as a user ID,
+ and the job will be sent only to hosts with that user ID.
+
+ Note: the use of workunit.batch is arbitrary;
+ we could also use workunit.opaque or other deprecated field.
+
+ client/
+ cpu_sched.cpp
+ sched/
+ sched_send.cpp,h
+ sched_config.cpp,h
+
+Rom 17 May 2011
+ - MGR: Prepopulate both the username field and the email address
+ field with the cookie information since we do not know ahead
+ of time which format the account manager uses. Once the
+ get_project_config RPC has completed, we'll know which one
+ is the correct one.
+
+ clientgui/
+ WizardAttach.cpp
+
+Charlie 18 May 2011
+ - MGR: Fix welcome message in Account Manager Wizard completion page.
+
+ clientgui/
+ CompletionPage.cpp
+
+David 18 May 2011
+ - update_versions: make work
+
+ tools/
+ update_versions
+
+David 18 May 2011
+ - client: show GPU device number correctly
+
+ client/
+ client_types.cpp
+
+Rom 19 May 2011
+ - client: Account for new registry location that the new VirtualBox installer
+ stashes the version number. Check the new location first, if not found go
+ back to the original location.
+
+ client/
+ hostinfo_win.cpp
+
+Rom 19 May 2011
+ - MGR: Initial stab at supporting Google Chrome cookies. SQLite engine needs
+ to be upgraded. Write it while the code is still in my head.
+
+ clientgui/
+ browser.cpp, .h
+
+David 19 May 2011
+ - client: add log messages showing steps in exiting all tasks,
+ enabled by
+ - client: remove redundant task-start messages
+
+ client/
+ app_start.cpp
+ app_control.cpp
+ cpu_sched.cpp
+
+David 20 May 2011
+ - update_versions: trim XML strings
+
+ tools/
+ update_versions
+ db/
+ boinc_db.h
+
+David 20 May 2011
+ - client: on hibernate, don't wait for apps to exit
+ (NCI apps never will)
+
+ client/
+ sysmon_win.cpp
+
+David 21 May 2011
+ - client: if project is set to "don't request more work",
+ report completed tasks immediately
+
+ client/
+ cs_scheduler.cpp
+
+Charlie 22 May 2011
+ - SCR: Fix Mac crash bug when user clicks SS Test button in system preferences.
+
+ clientscr/
+ mac_saver_module.cpp
+
+David 24 May 2011
+ - update_versions: flag main program as executable,
+ otherwise client will reject it
+
+ tools/
+ update_versions
+
+Charlie 25 May 2011
+ - MGR: Fix shutting down of Client on Linux.
+
+ clientgui/
+ BOINCGUIApp.cpp
+
+Rom 25 May 2011
+ - scheduler: unescape the stderr_out field after parsing so we do not break
+ other applications parsing the data.
+
+ sched/
+ sched_types.cpp
+
+David 25 May 2011
+ - client: escape only non-ASCII chars in stderr out, not control chars
+
+ sched/
+ sched_types.cpp
+ lib/
+ parse.cpp,h
+ client/
+ app_control.cpp
+
+David 25 May 2011
+ - client: if is specified in config file,
+ set host_info.p_ncpus to that value,
+ so that scheduler requests report that number of CPUs
+
+ client/
+ cpu_sched.cpp
+
+David 25 May 2011
+ - client: fix boinc_make_dirs() (from Josh Highley)
+ - client: allow "non_cpu_intensive" to be specified independently
+ for different apps in a project.
+ This is intended to support projects that use the
+ Attic file distribution system,
+ which needs to have a daemon running.
+
+ lib/
+ filesys.cpp,h
+ client/
+ client_types.cpp,h
+ app_control.cpp
+ cpu_sched.cpp
+
+David 25 May 2011
+ - client: equate notices if their text is the same after removing digits,
+ so that "need 25 GB disk" and "need 24 GB disk"
+ don't result in 2 notices.
+
+ client/
+ cs_notices.cpp
+
+David 25 May 2011
+ - Manager: tweak messages in exit dialog
+
+ clientgui/
+ DlgExitMessage.cpp
+
+David 27 May 2011
+ - web: make front page work for Bossa projects
+
+ html/user/
+ sample_index.php
+
+David 31 May 2011
+ - client: when killing a nonresponsive task,
+ kill its descendant processes too
+ - manager: tweak strings related to task FLOP size
+
+ client/
+ client_state.cpp
+ app_control.cpp
+
+David 31 May 2011
+ - client: Rom pointed out that on Win in secure mode,
+ the client won't be able to convert descendant PIDs to handles,
+ and therefore won't be able to terminate them. Sigh.
+ So terminate the main process using its handle
+ (we'll still kill descendants in the non-secure case)
+
+ client/
+ app_control.cpp
+
+David 31 May 2011
+ - web: add counts in task list pages
+
+ html/
+ inc/
+ boinc_db.inc
+ util.inc
+ result.inc
+ user/
+ results.php
+
+Charlie 2 Jun 2011
+ - MGR: Add SQLite3 v3.7.6.3 source code to Mac XCode project, adding
+ initializers for two local variables to suppress compiler warnings;
+ don't link Mac Manager with older pre-installed sqlite3 library.
+
+ clientgui/
+ sqlite3.c (added)
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Charlie 2 Jun 2011
+ - MGR: If Firefox 3 SQL query fails because cookie database is locked,
+ make a temporary copy of the cookie file and query that. This works
+ around a bug in some builds of Firefox 3.5.x.
+
+ clientgui/
+ browser.cpp
+
+Charlie 3 Jun 2011
+ - MGR: Fixes for cookie detection on Google Chrome browser.
+
+ clientgui/
+ browser.cpp
+
+David 3 Jun 2011
+ - client: my checkin of 8 Apr 2011 didn't work in some cases, e.g.:
+ - client finishes a job
+ - before upload starts, work fetch runs and decides to fetch work
+ from that project.
+ Solution:
+ - set PROJECT::last_upload_start when job finishes,
+ and clear it when a job is uploaded.
+ - defer scheduler RPC for a limited time if last_upload_start
+ is set, even if a transfer is not active
+
+ client/
+ client_state.cpp
+ cs_scheduler.cpp
+
+David 3 Jun 2011
+ - scheduler: app version FLOPS estimates were wrong
+ in the case where we don't have enough elapsed-time stats
+ for the host/app_version.
+ The right formula is (peak FLOPS)/app_version.avg_pfc
+
+ sched/
+ sched_version.cpp
+
+Charlie 3 Jun 2011
+ - MGR: Convert Google Chrome browser time (microseconds since
+ January 1, 1601) to UNIX time (seconds since January 1, 1970)
+ clientgui/
+ browser.cpp
+
+David 5 Jun 2011
+ - scheduler, back end: add "homogeneous app version" feature.
+ Lets you specify, on a per-app basis,
+ that all instances should be done using the same app version.
+ This is for validation in the presence of GPUs.
+ - scheduler: code cleanup
+ - Instead of adding a bunch of non-DB fields to RESULT,
+ used a derived class SCHED_DB_RESULT.
+ - Instead of storing a pointer to BEST_APP_VERSION in RESULT,
+ store the structure itself.
+ This simplifies the memory allocation situation.
+ - client: condition "Got server request to delete file" messages
+ on
+
+ db/
+ boinc_db.cpp,h
+ schema.sql
+ sched/
+ sched_types.cpp,h
+ sched_version.cpp
+ sched_send.cpp,h
+ sched_array.cpp
+ sched_locality.cpp
+ transitioner.cpp
+ sched_resend.cpp
+ sched_assign.cpp
+ sched_score.cpp
+ html/ops/
+ db_update.php
+ client/
+ cs_scheduler.cpp
+
+David 5 Jun 2011
+ - scheduler: when creating HOST_APP_VERSION records,
+ initialize the n_jobs_today field correctly
+
+ sched/
+ sched_send.cpp
+
+David 5 Jun 2011
+ - lib: fix compile warning
+
+ lib/
+ filesys.cpp
+
+Eric K 6 Jun 2011
+ - Added safe exit capabilities for Windows CUDA applications.
+ - checking in the app can be added as below.
+
+#ifdef _WIN32
+//Jason: Safe exit check macro to play nicer with Cuda & MS-CRT
+ #ifdef USE_CUDA
+ #define SAFE_EXIT_CHECK do { \
+ if (worker_thread_exit_request) { \
+ fprintf(stderr,"-> Worker received exit request, syncing Cuda...");
+cudaThreadSynchronize(); fprintf(stderr,"Done.\n"); \
+ fprintf(stderr," Worker Freeing Cuda data..."); cudaAcc_free();
+fprintf(stderr,"Done.\n"); \
+ fprintf(stderr," Worker Acknowledging exit request, spinning->\n");
+worker_thread_exit_ack = true; \
+ while (1) Sleep(10); \
+ } \
+ } while (0);
+ #else
+ #define SAFE_EXIT_CHECK do { \
+ if (worker_thread_exit_request) { \
+ fprintf(stderr," Worker Acknowledging exit request, spinning-> ");
+worker_thread_exit_ack = true; \
+ while (1) Sleep(10); \
+ } \
+ } while (0);
+ #endif
+#else // Linux or other probably have their own safe exit handling, defined as
+blank, do nothing
+ #define SAFE_EXIT_CHECK
+#endif
+
+and install at the top of the cffft loop, and more locations if desired:
+ SAFE_EXIT_CHECK;
+
+I'd like to implement these as BOINC API functions, but have not yet done so.
+
+David 6 Jun 2011
+ - backend: use new XML parser for input template files
+ (so that they don't have to be 1 element/line)
+ and also allow optional root element
+ - fix bug in WORKUNIT DB interface
+
+ db/
+ boinc_db.cpp
+ tools/
+ backend_lib.cpp
+
+David 6 Jun 2011
+ - API: undo the above API checkin, and provide a cleaner and
+ documented way of doing the same thing; see
+ http://boinc.berkeley.edu/trac/wiki/AppCoprocessor
+
+ api/
+ boinc_api.cpp,h
+
+Charlie 7 Jun 2011
+ - MGR: Fix bug I introduced on 6 Aug 2010: if currently connected host name is
+ empty string, we must treat it as localhost. Implement different logic to
+ skip exit confirmation dialog and avoid shutting down client if second
+ instance of Manager is launched but Select Computer dialog is cancelled.
+
+ clientgui/
+ MainDocument.cpp, .h
+
+Rom 7 Jun 2011
+ - MGR: Cleanup compiler warnings. Fixes# 1051
+ (From: Steffen Möller)
+
+ clientgui/
+ AdvancedFrame.cpp
+ clientgui/common/
+ wxFlatNotebookImages.h
+ clientgui/res/skins/default
+ advanced_link_image.xpm
+
+David 7 Jun 2011
+ - client: fix bug in app termination logic
+
+ client/
+ app_control.cpp
+
+Charlie 8 Jun 2011
+ - MGR: Fix About dialog to show (PowerPC) instead of (x86) when appropriate.
+
+ clientgui/
+ DlgAbout.cpp
+
+Charlie 8 Jun 2011
+ - MGR: Rework logic to skip exit confirmation dialog and avoid shutting down
+ client if second instance of Manager is launched, so it works if connect
+ to remote host fails.
+ - MGR: If original instance of Manager is connected to remote host (or none)
+ when exiting Manager. skip exit confirmation dialog but do shut down local
+ client if requested in most recently run exit dialog, whether or not
+ "Remember this decision" was set.
+ - MGR: Use same exit confirmation dialog wording for Linux as for Windows.
+
+ clientgui/
+ BOINCGUIApp.cpp, .h
+ MainDocument.cpp, .h
+ DlgExitMessage.cpp
+
+Rom 8 Jun 2011
+ - MGR: Disable list view rules for now.
+
+ clientgui/
+ BOINCBaseView.h
+
+Charlie 8 Jun 2011
+ - MGR: Restore list view rules again.
+
+ clientgui/
+ BOINCBaseView.h
+
+David 8 Jun 2011
+ - API: forgot to fix boinc_api.h
+
+ api/
+ boinc_api.h
+
+Charlie 9 Jun 2011
+ - MGR: Event Log menu item restores Event Log when Minimized; fixed on Mac
+ and Windows XP, hopefully on other versions of Windows OS.
+
+ clientgui/
+ BOINCBaseFrame.cpp
+ BOINCGUIApp.cpp
+
+David 10 Jun 2011
+ - client: fix bug in logic that defers work fetch if upload active
+
+ client/
+ cs_scheduler.cpp
+
+David 10 Jun 2011
+ - update_versions: read from stdin a different way
+
+ tools/
+ update_versions
+
+David 10 Jun 2011
+ - client: initialize some PROJECT fields (from Ian Hay).
+ May fix bug in defer work fetch while uploading logic
+
+ client/
+ client_types.cpp
+
+David 12 Jun 2011
+ - client: change --detach_phase_two (??) to --detach_console
+ - eliminate compiler warnings (e.g. shadowed vars)
+ in various places, mostly in client
+
+ sched/
+ sched_main.cpp
+ lib/
+ cc_config.cpp
+ samples/
+ many.cpp
+ client/
+ many.cpp
+ api/
+ boinc_api.cpp
+
+David 12 Jun 2011
+ - client:restore --detach_phase_two as synonym for --detach_console
+
+ client/
+ cs_cmdline.cpp
+
+David 13 Jun 2011
+ - web: when creating an item in News forum,
+ show "Export as Notice?" checkbox, and default to off.
+
+ db/
+ schema.sql
+ html/
+ inc/
+ forum.inc
+ user/
+ forum_post.php
+
+Bernd 14 Jun 2011
+ - API: fix install headers in Makefile.mingw
+
+ lib/
+ Makefile.mingw
+
+Rom 15 Jun 2011
+ - MGR: Update the project list in the wizard to make use
+ of more of the information contained in the all projects
+ list and also make it more accessible than the previous
+ implementation.
+
+ clientgui/
+ ProjectInfoPage.cpp, .h
+ WizardAttach.cpp, .h
+ clientgui/res/
+ linuxicon.xpm
+ macosicon.xpm
+ windowsicon.xpm
+ clientgui/res/skins/default/graphic/
+ advanced_link_image.xpm
+ win_build/
+ libboinc.vcproj
+ libboincapi_staticcrt.vcproj
+
+Rom 15 Jun 2011
+ - MGR: Add more polish to the new project list.
+
+ clientgui/
+ ProjectInfoPage.cpp, .h
+ clientgui/res/
+ blankicon.xpm
+
+David 15 Jun 2011
+ - manager: tweaks to project list
+
+ clientgui/
+ ProjectInfoPage.cpp
+
+Charlie 16 Jun 2011
+ - MGR: Fix project list layout for Mac; ellipse long items by size
+ instead of by number of characters. Set tooltips of possibly
+ ellipsed items to full text for that item so user can read it.
+
+ clientgui/
+ ProjectInfoPage.cpp, .h
+
+Charlie 16 Jun 2011
+ - Fix typo in all projects list: Urbana-Chamapign -> Urbana-Champaign.
+
+ docs/
+ projects.inc
+ win_build/
+ installerv2/
+ redist/
+ all_projects_list.xml
+
+David 16 Jun 2011
+ - client: we were assuming that if we ask a task to exit
+ and its main process exits, everything is OK.
+ That's not necessarily the case - buggy apps may have
+ subprocesses that the main process fails to kill.
+
+ Solution: when we request a task to exit or abort,
+ make a list of the descendants.
+ When the main process exits, kill any remaining descendants.
+
+ Also: we weren't checking for the ABORT_PENDING case
+ in the process exit logic.
+ This may explain the 5/15 second delay in detaching or
+ resetting a project with running tasks
+
+ client/
+ app.cpp,h
+ app_control.cpp
+
+Charlie 17 Jun 2011
+ - MGR: Fix project list identification of CUDA, ATI, and MT support (check
+ for "['cuda" not "[cuda". "['ati" not "[ati" and "['mt" not "[mt".)
+
+ clientgui/
+ ProjectInfoPage.cpp
+
+Rom 17 Jun 2011
+ - MGR: Revert previous change to the project list identification code.
+ - MGR: Fix a bug introduced in a previous commit where the plan class
+ was being surrounded by single quotes when generating an updated
+ project list.
+
+ clientgui/
+ ProjectInfoPage.cpp
+ doc/
+ get_platforms.inc
+
+Rom 17 Jun 2011
+ - MGR: Change the project list description control into an HTML based
+ window.
+
+ clientgui/
+ ProjectInfoPage.cpp, .h
+
+David 17 Jun 2011
+ - client: add a flag to APP_VERSION.
+ If set, the app does its own CPU throttling
+ so the client doesn't have to.
+
+ client/
+ client_types.cpp,h
+ app_control.cpp
+
+Charlie 18 Jun 2011
+ - MGR: Don't mark a project as supported if it requires a coprocessor we lack.
+ NOTE: if the platform entry contains a modifier such as [cuda] or [ati],
+ that capability is required. If a project offers both a cuda application
+ and a CPU-only application for an operating system, it must have two
+ separate platform entries for that OS, one with [cuda] and one without.
+ Likewise for ati and mt.
+
+ clientgui/
+ ProjectInfoPage.cpp
+
+David 20 Jun 2011
+ - web: use ReCaptcha for account creation as well as profile creation
+ (from Daniel)
+ - GUI RPC: remove have_cuda from CC_STATE.
+ Use the info in host_info.coprocs instead.
+
+ html/
+ ops/
+ pass_percentage_by_platform.php
+ user/
+ create_account_form.php
+ create_account_action.php
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+
+Rom 20 Jun 2011
+ - MGR: Fix build breaks related to GUI RPC changes.
+
+ clientgui/
+ AdvancedFrame.cpp
+ AsyncRPC.cpp
+ BOINCTaskBar.cpp
+ DlgItemProperties.cpp
+ ProjectInfoPage.cpp
+
+Charlie 20 Jun 2011
+ - client: logic fix: test coprocs.none() after coprocs.add() calls, not before.
+
+ client/
+ client_state.cpp
+
+David 21 Jun 2011
+ - GUI RPC: restore , elements in CC_STATE
+ for compatibility
+ - client: copy coprocs to host_info._coprocs at startup
+ (else GUI RPCs don't have right info)
+
+ client/
+ client_state.cpp
+ cs_statefile.cpp
+ lib/
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+
+David 21 Jun 2011
+ - web: add a web-service interface for remotely submitting, querying
+ and controlling batches of jobs
+ - web: add an administrative interface for controlling
+ user permissions for submitting jobs
+ - web: add an interface where users can view and control
+ their submitted jobs
+ See: http://boinc.berkeley.edu/trac/wiki/RemoteJobs
+ This is at a functional but rough stage.
+
+ db/
+ schema.sql
+ tools/
+ create_work.cpp
+ html/
+ ops/
+ submit_permissions.php
+ db_update.php
+ submit_example.php
+ inc/
+ submit_db.inc
+ boinc_db.inc
+ db_conn.inc
+ user/
+ submit.php
+ submit_status.php
+
+Charlie 21 Jun 2011
+ - MGR: Revert Rom's manager changes of 20 June related to GUI RPC changes,
+ for compatibility with older Clients.
+
+ clientgui/
+ AdvancedFrame.cpp
+ AsyncRPC.cpp
+ BOINCTaskBar.cpp
+ DlgItemProperties.cpp
+ ProjectInfoPage.cpp
+
+Charlie 22 Jun 2011
+ - MGR: Rename CC_STATE::have_cuda to CC_STATE::have_nvidia to clarify its meaning,
+ add comment that it is referenced in GUI RPCs as for compatibility.
+ Wizard ProjectInfo page tests values appropriate for connected client version.
+ - lib: fill in missing entries in COPROCS GUI RPCs, ensure that old data is reset
+ when connecting to a different host (not yet complete.)
+
+ clientgui/
+ AdvancedFrame.cpp
+ AsyncRPC.cpp
+ BOINCTaskBar.cpp
+ DlgItemProperties.cpp
+ ProjectInfoPage.cpp
+ lib/
+ coproc.cpp, .h
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+
+Charlie 23 Jun 2011
+ - MGR: It turns out we want the Wizard ProjectInfo Page to check for ATI and NVIDIA
+ GPUs regardless of whether they were reported by CAL, CUDA or OpenCL, so we can
+ just check CC_STATE::have_ati and CC_STATE::have_nvidia even for newer clients.
+ This means the Manager doesn't need to do get_host_info RPCs, because all the
+ host info it needs is available from the host_info section of the get_state RPC,
+ so eliminate the unnecessary Manager calls of get_host_info RPC.
+
+ clientgui/
+ DlgAdvPreferences.cpp
+ MainDocument.cpp, .h
+ ProjectInfoPage.cpp
+
+David 23 Jun 2011
+ - lib: fix compile warning
+
+ lib/
+ coproc.h
+
+David 23 Jun 2011
+ - client: add per-project GPU exclusion.
+ If you put an element of the form
+
+ http://project_url.com/
+ 1
+
+ in your cc_config.xml, that GPU won't be used for that project
+
+ lib/
+ cc_config.cpp,h
+ client/
+ client_types.cpp,h
+ client_state.cpp
+ cpu_sched.cpp
+
+David 23 Jun 2011
+ - client: replace with
+ in cc_config.xml (but keep old one for compat)
+
+ lib/
+ coproc.h
+ cc_config.cpp,h
+ client/
+ client_state.cpp
+ coproc_detect.cpp
+ log_flags.cpp
+
+Charlie 24 Jun 2011
+ - SCR: Add url.cpp to Mac screensaver in XCode project to fix link error.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 24 Jun 2011
+ - client: add element to config option,
+ in case of multiple GPU types
+
+ lib/
+ cc_config.cpp,h
+ client/
+ client_types.cpp,h
+ client_state.cpp
+ cpu_sched.cpp
+
+David 25 Jun 2011
+ - client: add optional elements to config option,
+ to allow app-level exclusions
+
+ lib/
+ cc_config.cpp,h
+ client/
+ cpu_sched.cpp
+
+David 25 Jun 2011
+ - client simulator: compile fix
+
+ client/
+ makefile_sim
+ sim_util.cpp
+
+David 25 Jun 2011
+ - fix compile warnings
+
+ api/
+ boinc_api.cpp
+ client/
+ app_start.cpp
+
+David 29 Jun 2011
+ - back end: strip tags from output templates
+ - web: main RSS feed should include all news items, even non-notices
+
+ tools/
+ process_result_template.cpp
+ html/inc/
+ forum_rss.inc
+ lib/
+ str_util.cpp
+ samples/wrappture/
+ wrappture.cpp
+
+David 29 Jun 2011
+ - server: restore fpops/intops_cumulative to RESULT
+ (structure, not table) for AQUA
+ - client, Windows: when wake up from hibernation,
+ get the time before printing log msg
+
+ db/
+ boinc_db.h
+ client/
+ client_state.h
+ sysmon_win.cpp
+
+David 30 Jun 2011
+ - client (Win) add some bulletproofing in case Windows sends us a
+ "suspending" event but not a resume event.
+
+ client/
+ client_state.cpp,h
+ sysmon_win.cpp
+
+David 30 Jun 2011
+ - db_purge: make zip compression work (from Teemu Mannermaa)
+ - get rid of a few compile warnings
+
+ sched/
+ sched_send.cpp
+ db_purge.cpp
+ sched_types.cpp
+ sched_score.cpp
+ sample_work_generator.cpp
+
+David 4 July 2011
+ - back end: fix bugs in [23648] which caused create_work
+ to mess up input templates containing
+ or other attribute tags.
+ XML_PARSER now contains a member element() for when
+ you want to copy an element without knowing its structure.
+
+ tools/
+ backend_lib.cpp
+ lib/
+ parse.cpp,h
+ html/user/
+ openid_login.php
+
+David 5 July 2011
+ - update_versions: fix typo that produced bad XML
+
+ tools/
+ update_versions
+
+Charlie 6 July 2011
+ - Mac: Update to libcurl 7.21.7 and c-ares 1.7.4.
+
+ client/
+ http_curl.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ buildc-ares.sh
+ buildcurl.sh
+ setupForBOINC.sh
+ HowToBuildBOINC_XCode.rtf
+
+Rom 6 July 2011
+ - Tag for 6.13.0 release, all platforms
+ boinc_core_release_6_13_0
+
+ /
+ configure.ac
+ version.h
+
+Charlie 6 July 2011
+ - Mac: Fix bad paths to MacBitMapComboBox.cpp, .h in XCode project.
+ (Checked into 6.13.0 tag).
+
+ clientgui/
+ mac/
+ MacBitmapComboBox.cpp, .h
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Charlie 7 July 2011
+ - Mac: Fix bug where menubar icon menu did not work after changing skin.
+
+ clientgui/
+ mac/
+ MacSysMenu.cpp
+
+Rom 7 July 2011
+ - WINSCR: Remove diagnostics screensaver dialog when the screensaver fails to
+ be able open up the log files.
+
+ clientscr/
+ screensaver_win.cpp
+
+David 7 July 2011
+ - client: write log msgs saying whether GPUs are OpenCL-capable
+
+ client/
+ client_state.cpp
+
+David 7 July 2011
+ - client: fix bug introduced in [23765] that produced garbage
+ in elements in sched req msgs and elsewhere.
+ peak_flops is a double.
+ If you print it using %d, everything from that point forward
+ is messed up.
+
+ lib/
+ coproc.cpp
+
+David 7 July 2011
+ - client: fix typo that caused a lot of spurious
+ "project has XXXXXX deadline misses" messages
+ - fix compile warnings
+
+ client/
+ sandbox.cpp
+ rr_sim.cpp
+
+David 7 July 2011
+ - client: possibly fix bug that caused no-GPU prefs to be ignored
+
+ client/
+ client_types.cpp
+
+Charlie 8 July 2011
+ - Mac: Refine bug fix for menubar icon menu not working after changing skin.
+
+ clientgui/
+ BOINCTaskBar.cpp
+ mac/
+ MacSysMenu.cpp, .h
+
+David 8 July 2011
+ - client: fix bug related to deselecting resource types in project prefs.
+ Some logic was missing.
+
+ client/
+ client_types.cpp,h
+ cs_account.cpp
+ work_fetch.cpp
+
+David 10 July 2011
+ - client emulator web interface: make cc_config.xml an attribute
+ of the simulation, not the scenario.
+ If you want to run a simulation w/ different log flags,
+ you shouldn't have to create a new scenario.
+ - client emulator: add --config_prefix cmdline arg
+ - validator: prevent infinite loop when app_version.pfc_avg
+ is wonky (like 1e-300).
+ Next step: figure out how it got that way.
+
+ client/
+ sim.cpp
+ sched/
+ credit.cpp
+
+David 10 July 2011
+ - client: clear have_nvidia/ati flags in CC_STATE
+ so you don't show garbage in project properties
+
+ lib/
+ gui_rpc_client_ops.cpp
+
+David 10 July 2011
+ - Manager and GUI RPC:
+ Remove debt fields from PROJECT: not used anymore
+ Add sched_priority field
+
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+ client/
+ client_state.cpp
+ client_types.cpp
+ clientgui/
+ DlgItemProperties.cpp
+
+David 10 July 2011
+ - client: fix scheduler bug that treated all CPU jobs
+ as non-high-priority
+ - client: don't print spurious "domino prevention"
+ and "thrashing prevention" msgs
+ - manager: show project descriptions in same size font
+ as the rest of the dialog
+
+ client/
+ cpu_sched.cpp
+ work_fetch.h
+ clientgui/
+ ProjectInfoPage.cpp
+
+David 11 July 2011
+ - manager: do the above font change only on Win
+
+ clientgui/
+ ProjectInfoPage.cpp
+
+David 11 July 2011
+ - manager: fix messed up logic that caused projects to show
+ "platform not support" incorrectly.
+ Note: the code in this entire area seems way too complex
+ - manager: tweak project desc font size
+
+ clientgui/
+ ProjectInfoPage.cpp
+
+David 11 July 2011
+ - admin web: add page for showing app and app version details
+
+ html/
+ ops/
+ submit_permissions.php
+ app_reset.php (new)
+ manage_apps.php
+ login_form.php
+ logout.php
+ app_details.php (new)
+ inc/
+ util_ops.inc
+
+David 12 July 2011
+ - admin web: finish page for resetting app statistics
+
+ html/
+ ops/
+ app_reset.php
+ app_details.php
+ inc/
+ boinc_db.inc
+
+David 12 July 2011
+ - validator: if job FLOPs estimates are accurate,
+ PFC values should be around 1.
+ If they differ from 1 by a factor of > 1e4, ignore them,
+ and put an error message into the validator log
+ - validator: if get_pfc() fails because an app version is
+ missing from the DB (i.e. the project deleted it)
+ keep going so we don't reprocess the WU forever
+
+ sched/
+ credit.cpp
+
+David 13 July 2011
+ - client, work fetch policy:
+ adjust project REC by the amount of work queued, to increase variety
+ NOTE: at some point I think I had a reason to not do this,
+ but I can't remember what it is.
+ - client, job scheduling policy: fix how project REC is adjusted
+
+ client/
+ work_fetch.cpp,h
+ cpu_sched.cpp
+ lib/
+ common_defs.h
+ sched/
+ credit.cpp,h
+ trickle_credit.cpp
+
+David 13 July 2011
+ - manager: don't show "Estimated computation speed" in task properties
+ The quantity involved is not actually computation speed.
+ Also don't show Max RAM usage.
+
+ clientgui/
+ DltItemProperties.cpp
+
+David 13 July 2011
+ - admin web: improve the FLOPs estimation tool so that
+ it works for GPU versions too
+
+ html/
+ ops/
+ job_times.php
+ app_details.php
+ inc/
+ util_ops.php
+
+David 13 July 2011
+ - client: precede OpenCL messages with [coprog_debug], not [coproc-test].
+ The convention is to use the name of the enabling log flag.
+
+ client/
+ coproc_detect.cpp
+
+
+Rom 14 July 2011
+ - lib: Fix the various '????' fields in the diagnostics framework during a
+ crash on Windows. Somewhere along the lines I messed up with the
+ conversions of single-byte characters vs. double-byte characters.
+
+ lib/
+ stackwalker_win.cpp
+
+David 14 July 2011
+ - client: add config option
+
+ lib/
+ cc_config.cpp,h
+ cpu_sched.cpp
+
+David 14 July 2011
+ - client: if a project has zero resource share,
+ don't piggyback a work request onto a non-work-request RPC
+
+ client/
+ work_fetch.cpp
+
+David 14 July 2011
+ - client: show the right prefix for messages
+
+ client/
+ cpu_sched.cpp
+
+Charlie 18 July 11
+ - MGR: Fix "Can't load Image" messages in Simple View; allow gaps in slide
+ show file numbering; reload images if new project files downloaded.
+
+ clientgui/
+ sg_ProjectPanel.cpp, .h
+ sg_TaskPanel.cpp, .h
+
+Rom 18 July 2011
+ - Tag for 6.13.1 release, all platforms
+ boinc_core_release_6_13_1
+
+ /
+ configure.ac
+ version.h
+
+David 18 July 2011
+ - web: when listing a user's message-board posts,
+ don't show team message-board posts unless
+ a) the requesting user is a member of the team, and
+ b) if the post is hidden, the requesting user is a team admin
+ This enforces the goal that a team's message board
+ is visible only to the team.
+
+ html/user/
+ forum_user_posts.php
+
+David 19 July 2011
+ - validator: remove spurious messages
+
+ sched/
+ credit.cpp
+
+David 19 July 2011
+ - server: some stuff to prepare for distributed storage
+ - don't create result records for uploads and downloads.
+ Just create a msg_to_client record.
+ - the scheduler handles file-transfer results specially;
+ it makes a vector of them, then calls a project-supplied function
+ handle_file_xfer_results()
+ - change the interface and implementation of put_file and get_file
+ - client write project sched priority in GUI RPC replies,
+ but not to the state file
+
+ sched/
+ delete_file.cpp
+ put_file.cpp
+ get_file.cpp
+ sched_types.cpp,h
+ sched_customize.cpp,h
+ handle_request.cpp
+ credit_test.cpp
+ tools/
+ backend_lib.cpp,h
+ py/Boinc/
+ setup_project.py
+ client/
+ client_state.cpp
+ boinc_cmd.cpp
+ client_types.cpp
+
+David 20 July 2011
+ - client: changes to the client file model to support distributed storage,
+ as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
+ Compatibility:
+ clients that upgrade to this version should see nothing unusual.
+ Clients that downgrade from this version to a previous version
+ should see all projects reset
+ (i.e. tasks disappear and then get re-downloaded).
+ - manager: always show whether a file transfer is upload or download
+ - client: don't scale work requests by resource share
+
+ client/
+ client_types.cpp,h
+ cs_apps.cpp
+ cs_files.cpp
+ cs_prefs.cpp
+ cs_statefile.cpp
+ file_xfer.cpp
+ pers_file_xfer.cpp
+ work_fetch.cpp
+ clientgui/
+ ViewTransfers.cpp
+ lib/
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+
+David 20 July 2011
+ - client/server: change the implementation of upload certificates
+ as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
+ Compatibility: if your project is using upload certificates:
+ - set ignore_upload_certificates
+ - disable job creation
+ - let your job queue drain
+ - upgrade to new server software
+ - clear ignore_upload_certificates
+ - enable job creation
+
+ sched/
+ file_upload_handler.cpp
+ tools/
+ process_result_template.cpp
+ lib/
+ gui_rpc_client_print.cpp
+ client/
+ client_types.cpp,h
+ file_xfer.cpp
+
+David 20 July 2011
+ - server: debug the above
+
+ sched/
+ file_upload_handler.cpp
+
+David 20 July 2011
+ - client: debug the above
+
+ client/
+ file_xfer.cpp
+
+David 20 July 2011
+ - server: debug distributed storage functions
+ - generate upload signatures if needed
+ - assign deadlines to file xfer jobs (default 1 week)
+ - scheduler: ack completed file xfer results
+
+ sched/
+ put_file.cpp
+ get_file.cpp
+ sched_customize.cpp
+ tools/
+ backend_lib.cpp,h
+
+David 20 July 2011
+ - client: debug distributed storage functions
+
+ client/
+ client_types.cpp,h
+ cs_statefile.cpp
+ scheduler_op.cpp
+
+David 22 July 2011
+ - server: some remote job submission code. Not finished.
+
+ tools/
+ create_work.cpp
+ html/
+ inc/
+ submit.inc
+ user/
+ submit.php
+ submit_example.php
+
+Charlie 25 July 11
+ - Mac: Begin changes for XCode 4.1 and GCC 4.2.
+
+ client/
+ hostinfo_unix.cpp
+ clientgui/
+ browser.h
+ sqlite3.c
+ mac/
+ MacBitmapComboBox.h
+ lib/
+ hostinfo.h
+
+David 25 July 2011
+ - web: more remote job submission code. Not finished.
+
+ db/
+ boinc_db.h
+ html/
+ inc/
+ submit.inc
+ boinc_db.inc
+ result.inc
+ user/
+ submit_example.php
+ get_output.php
+ submit.php
+
+David 25 July 2011
+ - user web: internationalization, from Christian Beer
+
+ html/user/
+ show_host_detail.php
+ sample_index.php
+ show_coproc.php
+ show_user.php
+ profile_search_action.php
+ team.php
+
+David 25 July 2011
+ - user web: remote job submission:
+ add the ability to download zipped output files
+
+ html/user/
+ submit_example.php
+ get_output.php
+
+Charlie 26 July 11
+- Mac: Finish changes for XCode 4.1 and GCC 4.2.
+
+ clientgui/
+ sqlite3.c
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ mac_installer/
+ PostInstall.cpp
+ release_boinc.sh
+
+David 26 July 2011
+ - web: remote job submission: implement abort and cleanup functions
+
+ html/
+ inc/
+ forum.inc
+ submit.inc
+ util.inc
+ result.inc
+ user/
+ forum_thread.php
+ submit_example.php
+ submit.php
+
+David 26 July 2011
+ - web: remote job submission:
+ - add fields to batch table, extend APIs accordingly
+ - require that example web interface run on BOINC server
+ (this makes many things easier;
+ an actual remote interface would require a bit more work)
+
+ db/
+ boinc_db.h
+ schema.sql
+ html/
+ ops/
+ db_update.php
+ inc/
+ submit_db.inc
+ submit.inc
+ util.inc
+ result.inc
+ user/
+ submit_example.php
+ submit.php
+
+Charlie 27 July 11
+ - lib: Initialize config_coprocs struct in CONFIG::defaults().
+
+ lib/
+ cc_config.cpp
+
+Charlie 27 July 11
+ - SCR: Fix delay dismissing screensaver under Mac OS10.7.
+
+ clientscr/
+ mac_saver_module.cpp
+ Mac_Saver_Module.h
+ Mac_Saver_ModuleView.m, .h
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Charlie 28 July 11
+ - Mac SCR: Fix vertical range of moving logo.
+
+ clientscr/
+ Mac_Saver_ModuleView.m
+
+David 28 July 2011
+ - remote job submission: bug fix and tweaks
+ - client: cc_config.xml: if is omitted from a ,
+ it means exclude all instances of that GPU type
+ - client: if all instances of a GPU type are excluded for a project,
+ don't ask the project for jobs of that type
+
+ html/
+ ops/
+ submit_permissions.php
+ inc/
+ util.h
+ user/
+ submit_example.php
+ lib/
+ cc_config.cpp,h
+ client/
+ work_fetch.cpp,h
+ client_types.cpp,h
+ client_state.cpp
+ gui_rpc_server_ops.cpp
+ cpu_sched.cpp
+
+David 29 July 2011
+ - client: fix bug in config option
+ - client: extend option so that if is omitted,
+ all GPUs of the given type are excluded.
+
+ client/
+ cpu_sched.cpp
+ work_fetch.cpp
+ lib/
+ cc_config.cpp,h
+
+David 30 July 2011
+ - server: fix typo
+
+ db/
+ boinc_db.h
+
+David 30 July 2011
+ - user web: in instructions for logging in with authenticator,
+ show the actual account file name.
+
+ html/user/
+ get_passwd.php
+
+David 30 July 2011
+ - web: fix typo that prevented users from seeing their own hidden posts
+
+ html/
+ inc/
+ prefs.inc
+ user/
+ forum_user_posts.php
+
+David 31 July 2011
+ - web: fix +/- forum rating, and tweak messages. Fixes #1123
+
+ html/user/
+ forum_report_post.php
+ forum_rate.php
+
+David 31 July 2011
+ - scheduler: check for negative elapsed time in results
+ reported by client, set to zero
+
+ sched/
+ sched_result.cpp
+ sched_types.cpp
+ html/user/
+ create_account_form.cpp
+
+David 1 Aug 2011
+ - web: fix bug in next_url mechanism
+
+ html/inc/
+ util.inc
+
+David 1 Aug 2011
+ - client: change the way upload signatures are generated
+ in an attempt to make them work with existing servers
+
+ client/
+ file_xfer.cpp
+
+David 1 Aug 2011
+ - client: undo the above. doesn't work
+
+ client/
+ file_xfer.cpp
+
+David 1 Aug 2011
+ - update_versions: add optional element to
+ element in version.xml.
+ If present, update_versions will gzip the file in the download dir.
+ Use this only if you have gzip-encoding enabled in Apache.
+
+ tools/
+ update_versions
+
+Charlie 2 Aug 11
+ - Mac installer: Work around bug in Mac OS 10.7 dscl merge command.
+
+ mac_installer/
+ PostInstall.cpp
+
+David 2 Aug 2011
+ - update_versions: bug fixes
+
+ tools/
+ update_versions
+
+David 3 Aug 2011
+ - client: fix bug in get_descendants(),
+ which prevented the client from cleaning up
+ subprocesses of misbehaving multiprocess apps.
+ - remote job submission system:
+ assign physical names to input files (based on their MD5)
+ rather than having the user provide physical names
+ - VM apps: eliminate vbox64 plan class. Only vbox.
+
+ sched/
+ sched_customize.cpp
+ html/
+ ops/
+ manage_app_versions.php
+ inc/
+ submit.inc
+ user/
+ submit_example.php
+ submit.php
+ lib/
+ procinfo.cpp
+ client/
+ app_start.cpp
+ app_control.cpp
+
+David 3 Aug 2011
+ - client: add optional to APP_VERSION>.
+ If present, "file_prefix/" is prepended to the logical names
+ of input and output files of jobs using that app version.
+ I.e. for Vbox wrapper based app versions, file_prefix is "share",
+ so that I/O files are put in a "share" subdirectory of the slot dir.
+ - update_versions: add support for
+
+ x
+ in version.xml
+
+ tools/
+ update_versions
+ client/
+ client_types.cpp,h
+ app.h
+ app_start.cpp
+
+David 3 Aug 2011
+ - client: if an app version has nonempty file_prefix,
+ copy all its input and output files
+
+ client/
+ app.h
+ app_start.cpp
+
+Charlie 3 Aug 11
+ - Mac: Fix warning about potential memory leak.
+
+ clientgui/
+ mac/
+ SystemMenu.m
+
+David 3 Aug 2011
+ - vbox wrapper: fix parsing of job file
+ - vbox wrapper: fix code structure
+ - merge vm and vbox
+ - no global vars
+
+ samples/vboxwrapper/
+ vbox.cpp,h
+ vm.cpp.h (removed)
+ vboxwrapper.cpp
+ Makefile
+
+David 3 Aug 2011
+ - vbox wrapper: hardwire logical name of image file to "vm_image.vdi".
+ - vbox wrapper: on startup, rename image file to "vm_image_SLOT.vdi",
+ where SLOT is the slot number.
+ Vbox requires unique names for VM image files.
+
+ samples/vboxwrapper/
+ vbox.cpp,h
+ vboxwrapper.cpp
+
+David 4 Aug 2011
+ - scheduler: apparently some hosts send GPU parameters that cause
+ the peak_flops to be negative (probably #processors = -1).
+ This leads to negative credit.
+ Fix: if peak flops is negative, set it to 50 GFLOPS
+ - web: fix email validate page
+
+ lib/
+ coproc.h
+ html/user/
+ validate_email_addr.php
+
+Rom 4 Aug 2011
+ - vbox wrapper: initialize xml parser with the correct starting tag.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+David 4 Aug 2011
+ - scheduler: turns out we need separate vbox32 and vbox64
+ plan classes after all.
+ Otherwise (since app_plan() is not passed an app version)
+ there's no way to enforce that 64 bit hosts are sent
+ only the 64 bit version (which is necessary because
+ of the split-registry scheme).
+
+ sched/
+ sched_customize.cpp
+
+David 6 Aug 2011
+ - web: send user a private message when
+ - one of their posts is moderated
+ - a banishment vote starts or completes.
+ This is needed in cases where the user can't or doesn't
+ read email to their account's address.
+ The "from" address of the PM is that of the user, not the moderator.
+
+ html/
+ inc/
+ pm.inc
+ forum_email.inc
+ user/
+ pm.php
+ team_founder_transfer_action.php
+
+David 6 Aug 2011
+ - update_versions: fix bug where files not listed in version.xml
+ are not processed correctly
+ - remote job submission: debug
+ - create_work: --rsc_fpops_est etc. should override the template file
+
+ tools/
+ backend_lib.cpp
+ update_versions.cpp
+ html/user/
+ submit_example.php
+ submit.php
+
+David 7 Aug 2011
+ - remote job submission: bug fixes
+
+ html/
+ inc/
+ submit.inc
+ util.inc
+ result.inc
+ user/
+ submit_example.php
+ submit.php
+
+David 7 Aug 2011
+ - client: projects with zero resource share are always lower priority,
+ for both job sched and work fetch,
+ than projects with positive resource share.
+
+ client/
+ cpu_sched.cpp
+ work_fetch.cpp
+
+David 7 Aug 2011
+ - scheduler: fix nasty bug where SCHED_DB_RESULT::parse()
+ was doing memset(this, 0, sizeof(RESULT)),
+ i.e. it wasn't zeroing out the whole structure.
+ The elapsed_time field (which isn't reported by old clients),
+ is near the end of the struct,
+ and it was getting garbage, e.g. 1e-304, in some cases,
+ which led to zero credit (and maybe other problems)
+ - validator: treat 1e-304 like zero in case of other problems
+ like the above.
+ - remote job submission: tweaks
+
+ sched/
+ credit.cpp
+ sched_types.cpp
+ html/user/
+ submit_example.php
+ submit.php
+
+David 7 Aug 2011
+ - web: when sending emails to other users, don't translate anything
+ (since they don't necessarily speak our language)
+
+ html/
+ ops/
+ index.php
+ inc/
+ pm.inc
+ submit.inc
+
+David 7 Aug 2011
+ - client: make round-robin simulator match what the job scheduler now does:
+ give lowest priority to projects with zero resource share.
+
+ client/
+ rr_sim.cpp
+ client_types.h
+
+Charlie 8 Aug 2011
+ - Changes for Charity Engine Desktop.
+
+ clientgui/
+ mac/
+ CE_ss_logo.tiff (new)
+ res/
+ CE_Install.icns (new)
+ CharityEngine.icns (new)
+ CE_Uninstall.icns (new)
+ MacCEPkgIcon.zip (new)
+ skins/
+ Charity Engine/ (new)
+ graphics/ (new)
+ (many new files)
+ skin.xml (new)
+ clientscr/
+ mac_saver_module.cpp
+ res/
+ CE_ss_logo.png (new)
+ CE_ss_logo.jpg (new)
+ ss_app.cpp
+ mac_installer/
+ CE-Branding (new)
+ CE-ReadMe.rtf (new)
+ CharityEngine/ (new)
+ acct_mgr_url.xml (new)
+ GR-ReadMe.rtf
+ make_CharityEngine.sh (new)
+ PostInstall.cpp
+ PTP-ReadMe.rtf
+ ReadMe.rtf
+
+Charlie 8 Aug 2011
+ - Mac Client: Call NSVersionOfRunTimeLibrary("cuda") to set
+ cc.display_driver_version (from Oliver Bock.)
+
+ client/
+ coproc_detect.cpp
+
+David 9 Aug 2011
+ - client: rename MODE to RUN_MODE, and rename vars accordingly
+
+ client/various
+
+David 9 Aug 2011
+ - client: pass XML_PARSER& rather than MIOFILE& to parse functions.
+ Preparatory to using new-style XML parsing everywhere.
+
+ client/various
+ lib/various
+
+Rom 10 Aug 2011
+ - Changes for Charity Engine Desktop.
+
+ client/win/res/
+ ce.ico
+ clientctrl/
+ boincsvcctrl.rc
+ clientgui/
+ BOINCGUIApp.rc
+ clientgui/res/
+ ce.ico
+ clientlib/win/
+ boinc_dll.rc
+ clientscr/
+ boinc_ss.rc
+ clientscr/
+ boinc_ss_opengl.rc
+ clientscr/res/
+ ce.bmp
+ ce.ico
+ clienttray/
+ boinc_tray.rc
+ win_build/
+ ce_boinc_cli.vcproj
+ ce_boinc_dll.vcproj
+ ce_boinc_ss.vcproj
+ ce_boinccmd.vcproj
+ ce_boincmgr.vcproj
+ ce_boincsvcctrl.vcproj
+ ce_boinctray.vcproj
+ ce_ss_app.vcproj
+ CharityEngine.sln
+ win_build/installerv2/
+ CharityEngine.ism
+ win_build/installerv2/redist/0409/
+ ce-eula.rtf
+ win_build/installerv2/redist/CharityEngine/
+ acct_mgr_url.xml
+ ce.ico
+ CE_IsDialogBanner.bmp
+ CE_IsDialogBitmap.bmp
+ CE_Splash.bmp
+
+David 10 Aug 2011
+ - Improve interface of XML_PARSER.
+ Add parsed_tag and is_tag to the class,
+ so that parsing functions don't need to declare them
+ and pass them around.
+ - Complete the task of using XML_PARSER as the argument
+ to all parsing functions.
+ (Internally, many of these functions still use the old XML parser;
+ that's the next step.)
+
+ db/
+ boinc_db.cpp,h
+ sched/
+ various
+ tools/
+ backend_lib.cpp
+ lib/
+ various
+ client/
+ various
+
+David 10 Aug 2011
+ - fix compile warnings; msg tweak
+
+ client/
+ cpu_sched.cpp
+ lib/
+ parse.cpp
+
+David 10 Aug 2011
+ - client: use new XML parser pretty much everywhere
+
+ lib/
+ cert_sig.cpp,h
+ parse.h
+ client/
+ pers_file_xfer.cpp
+ cs_account.cpp
+ client_types.cpp
+ cs_statefile.cpp
+ scheduler_op.cpp
+ time_stats.cpp
+ app.cpp
+ current_version.cpp
+
+Charlie 11 Aug 2011
+ - Mac installer: Bug fixes for OS 10.7 Lion: LoginItemAPI.c did not
+ set hidden property for login items, so use AppleScript instead,
+ to prevent Lion from opening BOINC windows at system startup.
+ - Fix a bug I introduced on 8 August which prevented launching
+ WaitPermissions.app.
+ - Mac uninstaller: Remove Charity Engine BOINC app if present.
+
+ mac_installer/
+ AddRemoveUser.cpp
+ PostInstall.cpp
+ Uninstall.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 11 Aug 2011
+ - client: more XML parsing stuff
+
+ client/
+ app.cpp
+ net_stats.cpp
+
+David 11 Aug 2011
+ - scheduler: update XML parsing
+
+ sched/
+ sched_main.cpp
+ sched_types.cpp
+
+David 11 Aug 2011
+ - client: XML tweak
+
+ client/
+ client_types.cpp
+
+Charlie 12 Aug 2011
+ - Mac installer: Bug fixes for OS 10.7 Lion.
+
+ mac_build/
+ Mac_SA_Secure.sh
+ mac_installer/
+ AddRemoveUser.cpp
+ PostInstall.cpp
+
+Rom 18 Aug 2011
+ - WINSCR: Based on feedback from WCG about the screensaver lock-up
+ problem attempt to provoke Windows into redrawing the primary
+ display. It turns out that the screensaver image is a ghost
+ image, so create a blank top-most window and close it after
+ the graphics application has been terminated.
+
+ clientscr/
+ screensaver_win.cpp, .h
+
+David 21 Aug 2011
+ - Vbox wrapper: add --trickle x option; sends a trickle-up message
+ reporting incremental runtime exery x seconds of runtime.
+ - client: more XML parsing cleanup
+ - credit trickle handler: do sanity checks on CPU speed
+
+ sched/
+ trickle_credit.cpp
+ credit.cpp,h
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+ client/
+ acct_setup.cpp,h
+ gui_rpc_server_ops.cpp
+
+David 21 Aug 2011
+ - credit trickle handler: write log messages if sanity checks fail
+
+ sched/
+ trickle_credit.cpp
+
+David 21 Aug 2011
+ - add script to purge trickle message records from DB
+ - fix spelling errors in db_purge
+
+ html/ops/
+ purge_trickles.php (new)
+ sched/
+ db_purge.cpp
+
+Charlie 22 Aug 2011
+ - client: Fix compiler warnings.
+
+ client/
+ app.cpp
+ coproc_detect.cpp
+
+Charlie 22 Aug 2011
+ - client: Correlate OpenCL results with CAL or CUDA results based
+ on index of devices reported by each. This assumes that CUDA
+ and OpenCL and report NVIDIA devices in the same order, and
+ that CAL and OpenCL report ATI/AMD devices in the same order.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.h
+
+David 22 Aug 2011
+ - client emulator fixes
+
+ sched/
+ edf_sim.h
+ client/
+ sim.cpp
+ sim_util.cpp
+ cs_statefile.cpp
+
+Charlie 23 Aug 2011
+ - client: If OpenCL is supported, add OpenCL information to
+ COPROC_ATI::write_xml() and COPROC_NVIDIA::write_xml(), and
+ parse OpenCL information in COPROC_ATI::parse() and
+ COPROC_NVIDIA::parse().
+ - client: Add OpenCL platform version number to COPROC struct.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ cl_boinc.h
+ coproc.cpp, .h
+ parse.h
+
+David 23 Aug 2011
+ - example app: change the app version structure to match the new format
+
+ samples/example_app/
+ various
+
+David 23 Aug 2011
+ - fix linux build errors in coproc stuff.
+ I don't think unsigned long long is relevant here.
+
+ lib/
+ parse.h
+ coproc.cpp
+ client/
+ coproc_detect.cpp
+
+David 23 Aug 2011
+ - example app: get it right this time
+
+ samples/example_app/
+ various
+
+Charlie 24 Aug 2011
+ - lib: fix compile errors on Mac, Ubuntu and Windows.
+
+ lib/
+ parse.h
+
+Charlie 24 Aug 2011
+ - client: fix compile warnings on Mac and Ubuntu.
+
+ client/
+ coproc_detect.cpp
+
+Charlie 24 Aug 2011
+ - lib, client: revert recent changes to restore unsigned long long so
+ we can determine cause of and try to fix Linux build errors.
+ - lib: On Windows, call _strtoui64() instead of strtoull.
+
+ lib/
+ coproc.cpp
+ parse.h
+ client/
+ coproc_detect.cpp
+
+David 24 Aug 2011
+ - job submission: fix bug where parameters specified in the
+ input template (e.g., delay bound) were ignored
+ - web: fix PHP warning
+
+ tools/
+ backend_lib.cpp
+ html/
+ inc/
+ forum.inc
+ user/
+ forum_forum.php
+
+David 24 Aug 2011
+ - client: pass --gpu_type X (X=nvidia or ati) as well as --device.
+ This lets device-neutral OpenCL apps figure out which GPU to use.
+
+ client/
+ app_start.cpp
+
+Charlie 25 Aug 2011
+ - client: fix Linux compile errors and warnings.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.cpp
+ parse.h
+
+David 25 Aug 2011
+ - client: fix bug where NVIDIA display driver version wasn't being
+ set correctly for some laptop GPUs
+ - client/server: improve estimation of NVIDIA GPU peak FLOPS
+
+ lib/
+ coproc.h
+ client/
+ coproc_detect.cpp
+
+David 25 Aug 2011
+ - validator: update credit statistics even if credit_from_wu
+ is being used.
+ - web: make almost everything translatable. From Christian Beer.
+
+ sched/
+ validator.cpp
+ html/user/
+ various
+
+Charlie 26 Aug 2011
+ - lib: use standard implementation of strtoull when available.
+
+ configure.ac
+ clientgui/
+ mac/
+ config.h
+ lib/
+ parse.h
+
+David 26 Aug 2011
+ - web: more fixes from Christian Beer. Fixes #1129
+
+ html/
+ ops/
+ inc/
+
+Rom 26 Aug 2011
+ - VboxWrapper: Add functions for enable/disable network and throttling
+ the CPU and network activity.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+
+David 26 Aug 2011
+ - scheduler: don't send user a message when there is no
+ app version for their platform for a particular app.
+ The may be versions for other apps which don't have jobs right now.
+ TODO: send a message if there are no versions of ANY app
+ for any platform.
+ - fix makefile indentation, caused manager to not be built
+ fixes #1132
+
+ sched/
+ sched_version.cpp
+ sched_send.cpp
+ Makefile.am
+
+David 26 Aug 2011
+ - VirtualBox wrapper:
+ - change names of CPU and network-limiting functions
+ to express their units (always do this).
+ - wrapper monitors status.suspend_network
+ and suspends/resumes network accordingly
+ - wrapper sets CPU and network bandwidth limits on startup
+ (Rom: should this be done before run() rather than after?)
+ Note: App versions using this wrapper should always have
+ in their version.xml,
+ to tell the client that the app throttles itself.
+
+ samples/vboxwrapper/
+ vbox.cpp,h
+ vboxwrapper.cpp
+
+David 26 Aug 2011
+ - fix build error in Linux screensaver (at least on FC14)
+
+ clientscr/
+ screensaver_x11.cpp
+
+David 26 Aug 2011
+ - web: comment out OpenID login - not working yet
+
+ html/user/
+ login_form.php
+
+David 26 Aug 2011
+ - job creation: handling of extra XML in input templates didn't work.
+ - job creation: fix stripping of tags
+ - client: fix off-by-1 error in buffer overflow logic for scanning keys.
+
+ tools/
+ backend_lib.cpp
+ process_result_template.cpp
+ lib/
+ crypt.cpp
+ parse.cpp,h
+
+David 26 Aug 2011
+ - manager: Communitcations -> Communications.
+ please, no spelling errors in function/variable names
+ - client: parse deprecated tags in
+
+ clientgui/
+ ProjectProcessingPage.cpp,h
+ AccountManagerProcessingPage.cpp,h
+ client/
+ client_types.cpp
+
+David 26 Aug 2011
+ - client: fix bug that caused project attach to fail
+ - clientgui: Rom, we should do error-checking of most GUI RPCs;
+ look for REPORT ERROR in ProjectProcessingPage.cpp
+
+ client/
+ acct_setup.cpp
+ coproc_detect.cpp
+ clientgui/
+ ProjectProcessingPage.cpp
+
+David 26 Aug 2011
+ - web: fix glitch in forum next/prev links
+
+ html/inc/
+ host.inc
+ forum.inc
+
+David 26 Aug 2011
+ - web: more tra() stuff
+
+ html/user/
+ forum_thread.php
+
+David 27 Aug 2011
+ - web: add a magic header string that supposedly will make
+ Recaptcha work on some IE variants. WTF??
+
+ html/
+ inc/
+ util.inc
+ user/
+ create_account_form.php
+ create_profile.php
+
+David 28 Aug 2011
+ - web: fix to the above
+ - web: fix forum search
+
+ html/
+ inc/
+ util.inc
+ user/
+ forum_search.php
+ forum_search_action.php
+
+David 28 Aug 2011
+ - web: fix some stuff broken by my checkin [24039].
+ - web: use & instead of & in URLs (not complete)
+
+ html/
+ inc/
+ forum.inc
+ util.inc
+ user/
+ forum_thread.php
+ forum_forum.php
+ edit_forum_preferences_action.php
+
+David 29 Aug 2011
+ - web: fix typo in profile credit/edit
+
+ html/user/
+ create_profile.php
+
+David 29 Aug 2011
+ - web: fix bug in "report post" function
+
+ html/user/
+ delete_profile.php
+ forum_report_post.php
+
+David 29 Aug 2011
+ - Vbox wrapper: deal with checkpointing.
+ Current: wrapper reports frequent checkpointing to client,
+ but actually checkpoints only when the VM is stopped
+ Problem: large amounts of work would be wasted if
+ BOINC stops in an ungraceful way (e.g., power failure)
+ Solution:
+ Don't report frequent checkpointing.
+ Every CPU scheduling period (typically once/hour)
+ stop the VM (creating a checkpoint)
+ and call boinc_temporary_exit(0).
+ If the client wants to keep running this job,
+ it will start us immediately.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+David 29 Aug 2011
+ - web: add page showing top GPU models
+
+ html/user/
+ gpu_list.php
+
+Charlie 30 Aug 2011
+ - Mac: Copy BOINC libraries built with XCode 4.1 to locations
+ where built by earlier versions of XCode so dependent
+ builds can always find them.
+ - Vbox wrapper: create XCode project.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ samples/vboxwrapper/
+ vboxwrapper.xcodeproj
+ project.pbxproj
+
+David 30 Aug 2011
+ - client: fix a couple of valgrind warnings
+
+ client/
+ cs_notice.cpp
+ hostinfo_unix.cpp
+
+David 30 Aug 2011
+ - client: send all running jobs a "reread app info" message
+ when global prefs change (in the case of vboxwrapper,
+ it might have to change network or CPU throttling)
+
+ sched/
+ sched_version.cpp
+ sched_send.cpp
+ client/
+ cs_prefs.cpp
+
+David 30 Aug 2011
+ - web: sort GPUs by average elapsed time
+
+ html/user/
+ gpu_list.php
+
+David 30 Aug 2011
+ - vbox wrapper: check for boinc_status.reread_init_data_file,
+ and if set reread the file, set throttles, and clear flag
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+David 30 Aug 2011
+ - validator: in "credit_from_wu" case, record what the new credit
+ system would have assigned in result.claimed_credit.
+
+ sched/
+ validator.cpp
+
+Charlie 31 Aug 2011
+ - define GPU_TYPE_NVIDIA, GPU_TYPE_ATI, use everywhere instead of
+ literal strings "NVIDIA" and "ATI" to ensure uniformity.
+
+ client/
+ acct_mgr.cpp
+ client_state.cpp
+ client_types.cpp
+ coproc_detect.cpp
+ cpu_sched.cpp
+ cs_account.cpp
+ cs_scheduler.cpp
+ log_flags.cpp
+ scheduler_op.cpp
+ lib/
+ coproc.cpp, .h
+ gui_rpc_client_ops.cpp
+
+Charlie 31 Aug 2011
+ - lib: Add OPENCL_REFERENCE boinc_get_opencl_ids(int argc, char** argv)
+ to be called by OpenCL project applications to get the platform ID
+ and device ID of the GPU assigned to the task by the scheduler.
+
+ lib/
+ coproc.cpp, .h
+
+David 31 Aug 2011
+ - API: move boinc_get_opencl_ids() from lib/ to api/.
+ lib/ is for code that's used by >1 part of BOINC
+
+ lib/
+ coproc.cpp,h
+ api/
+ boinc_opencl.cpp,h (new)
+ Makefile.am
+
+David 31 Aug 2011
+ - boinc_get_opencl_ids():
+ - change signature to return int error code
+ - no function overloading
+
+ api/
+ boinc_opencl.cpp,h
+
+David 31 Aug 2011
+ - client: fix bugs related to white space around code signing keys
+ - win compile fixes
+
+ api/
+ boinc_opencl.cpp
+ client/
+ client_types.cpp
+ cs_scheduler.cpp
+ scheduler_op.cpp
+ win_build/
+ libboincapi_staticrt.vcproj
+
+David 31 Aug 2011
+ - web: show actual project info on "forget password?" page
+
+ html/user/
+ get_passwd.php
+
+David 31 Aug 2011
+ - API: boinc_get_opencl_ids() doesn't need to link
+ the OpenCL library at runtime.
+ It's used only in OpenCL applications,
+ which already include the library.
+
+ api/
+ boinc_opencl.cpp,h
+ Makefile.am
+
+David 31 Aug 2011
+ - scheduler: make sure there's a \n after and .
+ Otherwise older clients won't be able to parse.
+
+ sched/
+ sched_types.cpp
+
+Rom 31 Aug 2011
+ - VboxWrapper: Specify a configuration directory under the slot directory to
+ try and avoid permission errors on multiple platforms when BOINC
+ is installed as a daemon.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Charlie 31 Aug 2011
+ - api: Fix compile errors and warnings, add documentation in comments
+ - lib: remove unnecessary #include, add needed function declarations
+
+ api/
+ boinc_opencl.cpp, .h
+ lib/
+ cl_boinc.h
+ coproc.cpp
+
+David 31 Aug 2011
+ - web: show relative performance on GPU list
+
+ html/user/
+ gpu_list.php
+
+Charlie 1 Sep 2011
+ - api: More fixes to boinc_get_opencl_ids()
+
+ api/
+ boinc_opencl.cpp
+ lib/
+ cl_boinc.h
+
+Charlie 1 Sep 2011
+ - lib: if OS_Darwin use procinfo_mac.cpp isntead of procinfo_unix.cpp.
+ - lib, api: update XCode project to build same source files in each
+ library as corresponding make files.
+
+ lib/
+ makefile.am
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 1 Sept 2011
+ - server: rename process_wu_template() to process_input_template(),
+ and move it to its own file
+
+ sched/
+ Makefile.am
+ tools/
+ backend_lib.cpp,h
+ process_input_template.cpp,h (new)
+ Makefile.am
+ api/
+ reduce_main.cpp
+
+David 1 Sept 2011
+ - server: factor process_input_template() into smaller pieces
+
+ tools/
+ process_input_template.cpp
+
+David 1 Sept 2011
+ - web: fix bug in "allow beta apps" preferences editing
+
+ html/user/
+ prefs_edit.php
+
+David 1 Sept 2011
+ - wrapper compile fixes
+
+ samples/wrapper/
+ wrapper.cpp
+
+Rom 1 Sept 2011
+ - VboxWrapper: Add a way to extract the VM process id from the VM's
+ log file.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+
+David 2 Sept 2011
+ - client (and API and manager): change the data structure
+ used for system process info
+ Old: vector of PROCINFO.
+ Descendants of a process were found by recursively
+ iterating through the vector.
+ Operations are O(n)
+ New: map of (id, PROCINFO),
+ and each PROCINFO has a vector of its children.
+ Operations are O(log(n))
+ Also combined Mac/Win/Linux variants of code that
+ was essentially the same.
+
+ lib/
+ procinfo.cpp,h
+ procinfo_win.cpp
+ procinfo_unix.cpp
+ procinfo_mac.cpp
+ clientgui/
+ BOINCClientManager.cpp
+ BOINCGUIApp.cpp
+
+David 2 Sept 2011
+ - more code shuffling:
+ proc_control: controlling processes
+ procinfo: enumerating and querying processes
+ run_app_windows: launching apps as other users on Win
+
+ lib/
+ proc_control.cpp,h
+ run_app_windows.cpp
+ procinfo.cpp,h
+ Makefile.am
+ api/
+ boinc_api.cpp
+ client/
+ app_control.cpp
+
+David 2 Sept 2011
+ - client/API/vboxwrapper:
+ add a mechanism so that apps can report sub-processes
+ that are not descendants (e.g., virtual machines)
+ These processes are then counted as part of the app,
+ not as "non-BOINC CPU time".
+ This fixes a bug where processing was incorrectly suspended
+ because CPU usage by VM apps exceeded the "CPU usage limit" pref.
+
+ Implementation:
+ - the PIDs of the processes in question
+ are passed from app to client via shared-memory,
+ in the app_status channel.
+ A new variant of boinc_report_app_status() supports this.
+ - the VBox wrapper queries the PID of the VM,
+ and reports it in this way.
+ - procinfo_app() includes a new argument: a list of PIDs
+ that are part of the app, although not ancestrally
+ related to the main process.
+ - in the client, ACTIVE_TASK now includes a vector "other_pids".
+ If this is nonempty, it's passed to procinfo_app().
+
+ lib/
+ procinfo.cpp,h
+ samples/
+ vboxwrapper/
+ vbox.cpp,h
+ vboxwrapper.cpp
+ api/
+ boinc_api.cpp,h
+ client/
+ app.cpp,h
+ app_control.cpp
+
+David 2 Sept 2011
+ - web: fix bug in add project prefs for a venue
+
+ html/user/
+ add_venue.php
+
+Charlie 2 Sep 2011
+ - lib: Fix compile errors; add app_control.cpp to XCode project.
+
+ client/
+ app_control.cpp
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 2 Sept 2011
+ - lib: minor code shuffle
+
+ lib/
+ proc_control.cpp
+ procinfo_win.cpp
+
+David 2 Sept 2011
+ - web: when displaying a user's posts, limit the query to 1000
+ so the page doesn't exceed CPU limit
+
+ html/user/
+ forum_user_posts.php
+
+David 5 Sept 2011
+ - web: fix warnings in forum pages
+ - scheduler: when using elapsed time stats to predict runtime,
+ cap the estimated FLOPS at twice the peak FLOPS;
+ otherwise, if a host has received a lot of very short jobs
+ recently, it will get a too-high FLOPS estimate and
+ will exceed the rsc_fpops_bound limit.
+
+ db/
+ boinc_db.h
+ sched/
+ sched_types.cpp,h
+ sched_version.cpp
+ html/
+ ops/
+ submit_permissions.php
+ inc/
+ forum.inc
+
+David 5 Sept 2011
+ - scheduler RPC: add element to
+ the element in
+ scheduler RPC request
+ (tells the server that there's an override file).
+ - account manager RPC: add element,
+ including the override flag.
+ - web: add "no time limit" option for forum search
+ - web: increase show-user-post query limit to 10000
+
+ lib/
+ prefs.cpp,h
+ client/
+ cs_prefs.cpp
+ acct_mgr.cpp
+ html/user/
+ forum_search.php
+ forum_search_action.php
+ forum_user_posts.php
+
+David 6 Sept 2011
+ - scheduler: add a debug message
+
+ sched/
+ sched_send.cpp
+
+David 6 Sept 2011
+ - client: fix bugs with white space around code sign keys
+ and file signatures
+ - client: when describing app versions in scheduler requests,
+ we still must use CUDA instead of NVIDIA;
+ that's what's in the server code.
+
+ client/
+ client_types.cpp
+
+David 6 Sept 2011
+ - scheduler: use new XML parser for most request elements
+ - scheduler: parse NVIDIA as well as CUDA in app version descriptions
+ (workaround for recent clients)
+
+ sched/
+ sched_send.cpp
+ sched_types.cpp
+
+David 6 Sept 2011
+ - preliminary stuff for mechanism where privileged users
+ can create apps and app versions
+ - crontab commands should be preceded by cd to project root
+
+ db/
+ schema.sql
+ tools/
+ make_project
+ html/
+ ops/
+ submit_permissions.php
+ db_update.php
+ user/
+ submit_app.php
+
+David 7 Sept 2011
+ - scheduler: fix crashing bug
+
+ sched/
+ sched_version.cpp
+ sched_assign.cpp
+
+Rom 7 Sept 2011
+ - Tag for 6.13.2 release, all platforms
+ boinc_core_release_6_13_2
+
+ /
+ configure.ac
+ version.h
+
+David 7 Sept 2011
+ - feeder: change the DB query to skip jobs for deprecated apps.
+ Otherwise, if you have a deprecated app with >= 200 jobs
+ (200 is the query's limit)
+ it could always get jobs for that app,
+ and never put anything into the cache.
+
+ db/
+ boinc_db.cpp
+
+David 7 Sept 2011
+ - client: make exit_before_start a cc_config.xml option
+ (as well as a cmdline option)
+ - wrapper: print error messages if stdin/out/err files don't exist
+
+ lib/
+ cc_config.cpp,h
+ samples/wrapper/
+ wrapper.cpp
+ client/
+ client_state.cpp,h
+ app_start.cpp
+ cs_cmdline.cpp
+ app_control.cpp
+
+David 8 Sept 2011
+ - scheduler: in work_needed(), ignore requests for resource
+ types for which we have no app versions
+ - client: if too many elements in cc_config.xml,
+ detect it and inform user
+
+ sched/
+ sched_send.cpp
+ lib/
+ coproc.h
+ cc_config.cpp
+ samples/
+ client_state_save.xml
+ client/
+ log_flags.cpp
+
+David 8 Sept 2011
+ - web: fix PHP warning
+
+ html/inc/
+ result.inc
+
+David 8 Sept 2011
+ - validator: old scheduler bugs may cause result.flops_estimate
+ to be negative in some cases.
+ Detect this, and use 1e10 instead
+
+ sched/
+ credit.cpp
+
+David 8 Sept 2011
+ - client: new XML parser had a limit of 8KB for strings.
+ This broke things. Increase it to 256KB.
+
+ lib/
+ parse.cpp
+
+Charlie 9 Sep 2011
+ - Mac: More fixes for building under XCode 4.1.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ mac_installer/
+ release_boinc.sh
+
+Rom 9 Sept 2011
+ - Tag for 6.13.3 release, all platforms
+ boinc_core_release_6_13_3
+
+ /
+ configure.ac
+ version.h
+
+David 9 Sept 2011
+ - web: suppress warning on cache unlink
+
+ html/inc/
+ cache.inc
+
+David 9 Sept 2011
+ - client: XML-escape the URLs in RSS feed lists
+ - lib: make xml_unescape work for arbitrarily large strings
+
+ lib/
+ parse.cpp
+ client/
+ cs_notice.cpp
+
+David 10 Sept 2011
+ - client: don't pass --gpu_type to GPU apps;
+ this breaks many existing apps.
+ Instead, pass the GPU type (and the device number)
+ in app_init_data.xml
+
+ client/
+ app_start.cpp
+ lib/
+ app_ipc.cpp,h
+
+David 10 Sept 2011
+ - client: fix error in parsing of XML comments
+
+ lib/
+ parse.cpp
+
+David 11 Sept 2011
+ - client: finish next-to-last checkin
+
+ client/
+ app_control.cpp
+ app_start.cpp
+ app.h
+
+David 11 Sept 2011
+ - manager, simple view:
+ - edit label text
+ - increase opacity of main area;
+ otherwise some text is hard to read
+ - change borders from blue to light gray.
+ In general shouldn't use primary colors
+ - display credit as integer
+ - reduce size of project name;
+ otherwise long names don't fit (on Win)
+ - don't use "(in slot x)".
+ "Slot" is not part of the vocabulary here.
+
+ clientgui/
+ sg_PanelBase.cpp
+ sg_ProjectPanel.cpp
+ sg_TaskPanel.cpp
+
+David 11 Sept 2011
+ - API: change boinc_get_opencl_ids() to use APP_INIT_DATA
+ instead of cmdline
+
+ api/
+ boinc_api.cpp,h
+ boinc_opencl.cpp,h
+
+David 11 Sept 2011
+ - API; fix the above fix
+
+ api/
+ boinc_api.cpp,h
+ boinc_opencl.cpp
+ Makefile.am
+
+David 12 Sept 2011
+ - client: make RR simulation more accurate
+ by simulating time-slicing explicitly.
+ Also simulate changes in project REC
+ and hence in scheduling priority.
+ - client: add a log flag "rrsim_detail" that prints
+ time-slice-level info.
+
+ lib/
+ cc_config.cpp,h
+ client/
+ work_fetch.cpp,h
+ client_types.cpp,h
+ rr_sim.cpp,h
+ cpu_sched.cpp
+
+David 12 Sept 2011
+ - client: remove code related to debt-based scheduling
+
+ client/
+ work_fetch.cpp,h
+ client_types.cpp,h
+ sim.cpp
+ cpu_sched.cpp
+
+David 12 Sept 2011
+ - client: make file upload work w/ old handlers
+
+ client/
+ file_xfer.cpp
+
+David 12 Sept 2011
+ - web: add config option
+
+ html/user/
+ create_account_form.php
+ create_account_action.php
+ sample_index.php
+
+David 12 Sept 2011
+ - validator: add --no_credit option;
+ maintains stats but doesn't grant credit
+
+ sched/
+ validator.cpp
+
+David 12 Sept 2011
+ - client, GUI RPC, Manager:
+ in GUI RPC, change RESULT.gpu_mem_wait to scheduler_wait.
+ It means that the app did a boinc_temporary_exit(),
+ and is waiting to be rescheduled.
+ GPU mem wait is one source of this, not the only one
+
+ clientgui/
+ MainDocument.cpp
+ lib/
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+ client/
+ client_types.cpp
+
+Rom 13 Sept 2011
+ - VBOX: Add more trace messages to the wrapper to help resolve
+ issues.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+David 13 Sept 2011
+ - validator: add a --credit_from_runtime option.
+ This assigns credit proportional to runtime*p_fpops.
+ To prevent cheating, p_fpops is capped at the 95th percentile value
+ among active hosts,
+ and runtime is capped at a specified limit.
+ This option supports apps, like LHC's CERNvm app,
+ that run for a certain amount of time and then exit.
+ The CreditNew system doesn't work for such apps.
+ - trickle_credit:
+ To prevent cheating,
+ cap p_fpops at the 95th percentile value among active hosts,
+ and require a limit on runtime.
+ - require that trickle handlers supply an initialization function
+
+ db/
+ boinc_db.cpp,h
+ sched/
+ trickle_handler.cpp,h
+ trickle_credit.cpp
+ trickle_echo.cpp
+ validate_util2.cpp
+ validator.cpp
+
+David 13 Sept 2011
+ - wrapper: don't delete task-level checkpoint file when starting task;
+ that defeats the purpose. From Uwe Becker.
+
+ samples/wrapper/
+ wrapper.cpp
+
+Rom 13 Sept 2011
+ - VBOX: Properly trap stderr output from vboxmanage by redirecting it to
+ stdout. Error messages should now be properly detected on Linux and
+ Mac.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 13 Sept 2011
+ - VBOX: Don't attempt to stop a VM that is already shut down.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 13 Sept 2011
+ - VBOX: Make is_running() a bit smarter about detecting the running state
+ of a virtual machine.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+David 13 Sept 2011
+ - client: get GPU available RAM at startup (only)
+ - client: fix compile warning
+
+ lib/
+ coproc.cpp
+ client/
+ work_fetch.cpp,h
+ client_state.cpp
+ coproc_detect.cpp
+ cpu_sched.cpp
+
+David 13 Sept 2011
+ - client: fixes to the above
+ - client: prevent infinite recursion (and stack overflow)
+ in procinfo.cpp:add_child_totals().
+ Not sure how this could happen.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ procinfo.cpp
+
+Rom 13 Sept 2011
+ - VBOX: Increase the pipe buffer on Windows from the default to 128k. Despite what
+ the docs say, if the buffer isn't large enough VboxManage hangs attempting to
+ write the VM log file to it. Luckly the VM log file is only 64k.
+ - VBOX: Fix a couple of parsing errors.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 14 Sept 2011
+ - VBOX: Add a register_only command line argument to help debug VM related issues.
+ - VBOX: Add some suggestions to the source on how to debug VM related issues.
+ - VBOX: Add a quick sanity check when the enable_shared_directory option is
+ enabled.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
+
+David 13 Sept 2011
+ - client: escape URLs for curl, otherwise filenames with spaces don't work
+
+ lib/
+ procinfo.cpp
+ client/
+ http_curl.cpp
+
+David 13 Sept 2011
+ - client: curl_easy_escape() escapes way too much. Just escape spaces.
+
+ client/
+ http_curl.cpp
+
+David 14 Sept 2011
+ - XML parsing: do XML unescaping in place rather than allocating
+ a buffer on the stack.
+ Fixes a Manager crash on the Mac,
+ where the default thread stack size seems to be 512KB.
+
+ lib/
+ parse.cpp,h
+ app_ipc.cpp
+ client/
+ cs_notice.cpp
+
+Rom 14 Sept 2011
+ - client: Update Windows detection code to support Windows 8.
+ (From: [P3D] Crashtest)
+
+ client/
+ hostinfo_win.cpp
+
+David 14 Sept 2011
+ - client: change in the use of GPU available RAM:
+ - measure the available RAM of each GPU when BOINC starts up.
+ If this fails, set available = physical.
+ Show available RAM in startup messages.
+ - use available RAM rather than physical RAM in selecting
+ the "best" GPU instance
+ - report available RAM to the scheduler
+ TODO: change the scheduler to use available rather than physical
+ if it's reported
+
+ sched/
+ sample_trivial_validator.cpp
+ lib/
+ coproc.cpp,h
+ client/
+ client_state.cpp
+ coproc_detect.cpp
+ cpu_sched.cpp
+
+David 14 Sept 2011
+ - vboxwrapper: we don't seem to be getting the VM PID.
+ Add some printfs.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+David 14 Sept 2011
+ - client: report available GPU RAM to scheduler
+
+ lib/
+ coproc.cpp
+
+David 14 Sept 2011
+ - lib: parse in coproc XML
+ - lib: do coproc XML parsing using new XML parser
+
+ lib/
+ parse.cpp,h
+ coproc.cpp,h
+
+David 14 Sept 2011
+ - scheduler: in app_plan functions for GPUs,
+ use available RAM if reported by client;
+ otherwise use physical RAM.
+
+ sched/
+ sched_customize.cpp
+
+David 14 Sept 2011
+ - scheduler: revise [21428] to include non-anonymous-platform,
+ and change the ratio limit from 2 to 10.
+
+ sched/
+ sched_send.cpp
+ sched_version.cpp
+
+Charlie 15 Sep 2011
+ - lib: fix compiler warning.
+ - vboxwrapper: fix compiler warning.
+ - Mac: Change XCode project to build both 32-bit and 64-bit
+ BOINC libraries for debug as well as for deployment.
+ - vboxwrapper: update XCode project for easier access to built
+ executables and symbol tables under XCode 4.1.
+
+ lib/
+ coproc.cpp
+ samples/
+ vboxwrapper/
+ vbox.cpp
+ vboxwrapper.xcodeproj/
+ project.pbxproj
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 15 Sept 2011
+ - minor code shuffle
+
+ client/
+ rr_sim.cpp
+
+Rom 15 Sept 2011
+ - VBOX: Add a way to track overall network utilization of a VM.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+
+David 16 Sept 2011
+ - Validator: allow project-specific code to mark a result
+ is a "runtime outlier", i.e. its runtime does
+ not correspond to the job's rsc_fpops_est.
+ Runtime outliers are not counted in the statistics for
+ elapsed time, turnaround time, and peak FLOPs count.
+
+ The is intended for applications like SETI@home,
+ some of whose jobs finish more or less instantly
+ (this happens if the data contains a lot of interference).
+ If a host happens to get a bunch of these short jobs,
+ its statistics will get skewed: in essence, the server
+ will think that the host is extremely fast,
+ and will send it too many jobs.
+
+ db/
+ boinc_db.cpp,h
+ sched/
+ credit.cpp
+ validator.cpp
+ html/ops/
+ db_update.php
+
+David 16 Sept 2011
+ - vboxwrapper: code cleanup
+ - use double for potentially large quantities
+ - factor out repetitive code, rather than copy and paste
+
+ samples/vboxwrapper/
+ vbox.cpp,h
+
+David 16 Sept 2011
+ - vboxwrapper: report network usage to the client
+ - client: include the above in enforcing network quota preferences
+
+ api/
+ boinc_api.cpp,h
+ samples/vboxwrapper/
+ vbox.cpp,h
+ vboxwrapper.cpp
+ client/
+ app.cpp,h
+ app_control.cpp
+ sched/
+ trickle_handler.cpp
+
+David 16 Sept 2011
+ - transitioner: fix bug related to new runtime_outlier field
+
+ db/
+ boinc_db.cpp
+
+David 16 Sept 2011
+ - validator: add runtime_outlier message
+
+ sched/
+ credit.cpp
+
+David 16 Sept 2011
+ - client: with VBox on Win, the process graph sometimes has cycles.
+ Not sure where this comes from.
+ But avoid infinite recursion when traversing descendants.
+
+ lib/
+ procinfo.cpp,h
+
+Charlie 16 Sep 2011
+ - wrapper: Update Mac build script for XCode 4.1 and OS 10.7.
+ NOTE: We no longer support PowerPC Macs.
+
+ samples/wrapper/
+ wrapper.cpp
+
+David 18 Sept 2011
+ - client: make the attributes of GUI RPCs (network, authentication)
+ explicit rather than determined by position in a list.
+ - client: add a new "read-only" attribute for GUI RPCs.
+ This is in preparation for handling GUI RPCs in separate threads.
+ - client: remove code to support pre-V6 graphics.
+
+ lib/
+ parse.h
+ client/
+ cs_notice.cpp,h
+ gui_rpc_server.cpp,h
+ gui_rpc_server_ops.cpp
+ app.cpp
+ app_control.cpp
+ Makefile.am
+
+David 18 Sept 2011
+ - Win fixes
+
+ lib/
+ mfile.cpp
+ parse.cpp
+ win_build/
+ boinc_cli.vcproj
+
+David 18 Sept 2011
+ - lib: add generic interfaces for threads and thread synchronization
+
+ lib/
+ thread.cpp,h
+
+David 18 Sept 2011
+ - win fixes
+
+ lib/
+ thread.cpp,h
+ win_build/
+ libboinc.vcproj
+
+Rom 19 Sept 2011
+ - Tag for 6.13.4 release, all platforms
+ boinc_core_release_6_13_4
+
+ /
+ configure.ac
+ version.h
+
+David 19 Sept 2011
+ - client: in handling the acct_mgr GUI RPC,
+ don't start the RPC directly;
+ that might fail if CLIENT_STATE::gui_http is busy.
+ Instead, set a timer field.
+ - client: structure ACCT_MGR_OP the same as other GUI_HTTP_OP variants
+ - client: clarify the comments on GUI_HTTP and GUI_HTTP_OP
+
+ Note: GUI_HTTP and GUI_HTTP_OP are misnomers; they refer to
+ any HTTP op other than scheduler requests and file transfers.
+ Should change the name, maybe to CLIENT_HTTP*
+
+ client/
+ client_state.cpp
+ gui_rpc_server.cpp
+ gui_rpc_server_ops.cpp
+ gui_http.cpp,h
+ acct_mgr.cpp,h
+ cs_trickle.h
+
+Charlie 20 Sep 2011
+ - Mac: Remove app_graphics.cpp from Client in XCode project, add new
+ files thread.cpp,.h to libboinc.a in XCode project.
+ (Checked in to 6.13.4 tag.)
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 20 Sept 2011
+ - client: intermediate checkin for replicated trickle-ups.
+ Not finished yet.
+ - example app: add --trickle_up and --trickle_down options,
+ for testing trickle messages
+
+ client/
+ acct_mgr.cpp
+ client_types.h
+ cs_notice.cpp,h
+ cs_scheduler.cpp
+ cs_trickle.cpp,h
+ gui_http.cpp,h
+ gui_rpc_server.cpp,h
+ http_curl.cpp,h
+ scheduler_op.cpp,h
+ samples/example_app/
+ uc2.php
+
+David 21 Sept 2011
+ - back end: extend the access control system for remote job submission
+ and other operations.
+ You can now designate a user as "manager" for a particular app.
+ They can then:
+ - control job-submit permissions for that app
+ - deprecate/undeprecate versions of the app.
+ - abort jobs for that app
+
+ You can also designate a user as manager for the project.
+ They can then edit permissions and quotas,
+ as well as performing the app-specific functions for all apps.
+
+ This is described here:
+ http://boinc.berkeley.edu/trac/wiki/MultiUser#Accesscontrol
+
+ This required some changes to the DB schema.
+
+ db/
+ schema.sql
+ tools/
+ manage_privileges
+ html/
+ inc/
+ submit.inc
+ submit_util.inc (new)
+ result.inc
+ ops/
+ submit_permissions.php (removed)
+ db_update.php
+ user/
+ manage_project.php (new)
+ submit_example.php
+ manage.php (new)
+ manage_app.php (new)
+ submit.php
+ py/Boinc/
+ setup_project.py
+
+David 21 Sept 2011
+ - client: fix bug in ATI GPU detection, caused zero RAM measurements
+
+ client/
+ coproc_detect.cpp
+
+Rom 21 Sept 2011
+ - client: fix ATI GPU max mem display issue.
+
+ lib/
+ coproc.cpp
+
+David 21 Sept 2011
+ - fix typo in DB schema
+ - msg tweaks in make_project
+
+ db/
+ schema.sql
+ py/Boinc/
+ setup_project.py
+
+David 21 Sept 2011
+ - client: more stuff for replicated trickle ups
+
+ client/
+ cs_trickle.cpp
+ client_types.cpp
+ http_curl.cpp
+
+David 21 Sept 2011
+ - lib: don't include thread.cpp;
+ not needed for server, and causes errors on some 64-bit Linux
+
+ lib/
+ Makefile.am
+
+Charlie 22 Sep 2011
+ - vboxwrapper: fix code which sets environment variables.
+ - "PATH" must be upper case.
+ - putenv() does not copy its input string, so must use setenv().
+
+ samples/
+ vboxwrapper/
+ vbox.cpp
+
+Rom 22 Sept 2011
+ - VBOX: More environment variable tweaks.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+
+David 22 Sept 2011
+ - client: more work on replicated trickles. Not working yet.
+
+ client/
+ client_state.cpp
+ cs_trickle.cpp,h
+
+David 22 Sept 2011
+ - client: replicated trickles. Seems to be working now.
+ - client: added config option
+
+ client/
+ cs_trickle.cpp
+ gui_http.cpp,h
+ httl_curl.cpp
+ lib/
+ cc_config.cpp,h
+
+Rom 22 Sept 2011
+ - Tag for 6.13.5 release, all platforms
+ boinc_core_release_6_13_5
+
+ /
+ configure.ac
+ version.h
+
+Rom 22 Sept 2011
+ - client: Disable GPU detection of Windows when running as a
+ service to avoid a deadlock condition with the latest ATI
+ drivers.
+
+ client/
+ client_state.cpp
+ coproc_detect.cpp
+
+Charlie 23 Sep 2011
+ - Mac: fixes for problems with OS 10.4 compatibility.
+ (checked into 6.13.5 and 6.13.6 tags)
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Rom 22 Sept 2011
+ - Tag for 6.13.6 release, all platforms
+ boinc_core_release_6_13_6
+
+ /
+ configure.ac
+ version.h
+
+David 23 Sept 2011
+ - fix typo in manage_privileges
+
+ tools/
+ manage_privileges
+
+David 23 Sept 2011
+ - web: don't addslashes() for button titles; this was left over
+ from when buttons were implemented in Javascript
+
+ html/inc/
+ util.inc
+
+David 23 Sept 2011
+ - web: message tweak
+
+ html/inc/
+ forum.inc
+
+David 23 Sept 2011
+ - client: fix spurious error message about trickle-up URLs
+
+ client/
+ client_types.cpp
+
+David 23 Sept 2011
+ - client: don't call CLIENT_STATE::free_mem() on shutdown.
+ This is for debugging only, and it can cause crashes.
+
+ client/
+ main.cpp
+
+Charlie 24 Sep 2011
+ - Mac: more fixes for problems with OS 10.4 compatibility.
+ (checked into 6.13.5 and 6.13.6 tags)
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ mac_installer/
+ PostInstall.cpp
+ uninstall.cpp
+
+David 26 Sept 2011
+ - client simulator: add --existing_jobs_only option.
+ This simulates just the jobs in the state file,
+ rather than simulating an infinite stream of jobs
+ modeled after the ones in the state file.
+
+ client/
+ sim.cpp,h
+ cs_prefs.cpp
+
+Charlie 26 Sep 2011
+ - Mac: update wxMac build script for building with XCode 4.1
+ under OS 10.7 while maintaining OS 10.4 compatibility.
+ (checked into 6.13.6 tag)
+
+ mac_build/
+ buildWxMac.sh
+
+David 26 Sept 2011
+ - client simulator: fixes
+ - client: message tweaks
+
+ client/
+ client_state.cpp,h
+ sim.cpp
+ cs_prefs.cpp
+ cs_apps.cpp
+ log_flags.cpp
+ cpu_sched.cpp
+ lib/
+ cc_config.h
+
+David 26 Sept 2011
+ - web: when showing a user's posts, don't show the ones
+ in hidden threads
+ - web: in showing the context of a post, link the thread also.
+
+ html/
+ user/
+ forum_user_posts.php
+ inc/
+ forum.inc
+
+Charlie 27 Sep 2011
+ - client: Fix compile break on Mac.
+
+ client/
+ cpu_sched.cpp
+
+Rom 27 Sept 2011
+ - web: The create_account RPC supports taking an invite_code parameter
+ but we currently do not expose a way in get_project_config to determine
+ that a UI should prompt for one. Add a tag
+ if the project is only accepting new accounts by invitation.
+
+ html/user/
+ get_project_config.php
+
+Rom 27 Sept 2011
+ lib: only build the static version of libboinc.
+
+ lib/
+ Makefile.am
+
+David 27 Sept 2011
+ - fix comment
+ client/
+ app_control.cpp
+
+David 27 Sept 2011
+ - Updates Linux notifications to use current libnotify.
+ - Fix build problems on Mac OS X using autotools
+ - Consistently use #if HAVE_X for platform checks,
+ rather than #ifdef HAVE_X or #if defined(HAVE_X)
+ - In Unix build, make lots of compiler checks standard
+ - Fix some compile warnings
+
+ From Matt Arsenault.
+
+ Note: there are now lots of compile warnings in clientgui/ on Unix,
+ mostly in WxWidgets code
+
+ configure.ac
+ Makefile.incl
+ clientgui/gtk
+ taskbarex.cpp
+ db/
+ boinc_db.cpp
+ clientscr/
+ gfxswitcher.cpp
+ sched/
+ file_deleter.cpp
+ hr.h
+ lib/
+ various
+ win_build/
+ win-config.h
+ api/
+ various
+ client/
+ various
+
+Charlie 27 Sep 2011
+ - client: Fix compiler warnings on Mac.
+ - client: Fix compile break on Mac.
+
+ client/
+ client_state.cpp
+ cs_cmdline.cpp
+ mac/
+ config.h
+
+David 28 Sept 2011
+ - manager: fix build break on Linux
+ Undoes part of yesterday's checkin.
+ - more changes from #ifdef HAVE_X to #if HAVE_X
+
+ clientgui/gtk/
+ taskbarex.cpp
+ lib/
+ proc_control.cpp
+ mac_address.cpp
+ diagnostics.cpp
+ parse.h
+
+Rom 30 Sept 2011
+ - WINSETUP: Add more logging to the create group and add user to group
+ functions in an attempt to figure out what is going on with Windows 8.
+
+ win_build/installerv2/redist/Windows/src/boinccas/
+ CACreateBOINCGroups.cpp
+ win_build/installerv2/redist/Windows/Win32/
+ boinccas.dll
+ boinccas95.dll
+ win_build/installerv2/redist/Windows/x64/
+ boinccas.dll
+ boinccas95.dll
+
+David 1 Oct 2011
+ - client: fix a bug reported by Jacob Klein,
+ where work fetch didn't work right in the presence of
+ multiple GPUs and config options.
+ For example: suppose:
+ - you have 2 GPUs and 2 projects
+ - Project A is excluded from GPU 1
+ - you have lots of jobs for project A
+ Then the client won't try to fetch jobs from project B.
+
+ The problem had 2 parts:
+ a) round-robin simulation wasn't taking GPU exclusions into account.
+ In the above example, it would think that both GPUs had jobs.
+ I fixed this by computing the # of GPUs from each project
+ is excluded, and using this in the RR simulation.
+ b) Once this was done, I needed to make the client
+ request GPU jobs from project B rather than project A.
+ I did this with following policy:
+ If a project has excluded GPUs of a given type,
+ and has a runnable job of that type,
+ don't ask it for more work of that type.
+
+ Notes:
+ - the policy in b) is crude, and it means that work-buffer
+ preferences are ignored in some cases.
+ - neither a) nor b) takes into account app-level exclusions.
+
+ I could fix both of these with a lot of work,
+ but I'd rather move to a model in which dissimilar GPUs
+ are modeled as different resources,
+ which would remove the need for the mechanism
+ in the first place.
+
+ Other note: I figured out this problem using the client simulator,
+ based on the client state file that Jacob sent me.
+
+ - web: remove extraneous ) at end of button tooltips
+
+ html/inc/
+ util.inc
+ client/
+ client_types.h
+ client_state.cpp
+ sim.cpp
+ work_fetch.cpp
+ rr_sim.cpp
+ gui_rpc_serever_ops.cpp
+ log_flags.cpp,h
+
+David 1 Oct 2011
+ - client: specify the project in "Some tasks need more memory
+ than allowed by your preferences" messages
+
+ client
+ cs_trickle.cpp
+ client_state.cpp
+
+David 1 Oct 2011
+ - team import script: don't exit if fail to create user.
+ The failure may be because the email is banned
+ (as happened w/ SETI@home)
+
+ html/ops/
+ team_import.php
+
+David 2 Oct 2011
+ - client: fix bug that could cause GPU idleness
+ in the presence of GPU exclusions.
+ The problem was in the job-selection phase,
+ which picks enough jobs to use all devices.
+ It was ignoring GPU exclusions, so for example on
+ a 2 GPU system it could pick 2 jobs from a project
+ for which 1 GPU is excluded,
+ and as a result 1 GPU would be idle.
+
+ Solution: during job selection,
+ keep track of GPU usage on a per-instance basis.
+ Select a job only if it can run on a non-excluded GPU.
+
+ - client: in computing ncprocs_excluded (which is used in
+ work fetch policy) don't count exclusions of non-existent devices
+
+ html/ops/
+ team_export.php
+ lib/
+ coproc.h
+ client/
+ log_flags.cpp
+ cpu_sched.cpp
+
+David 2 Oct 2011
+ - client: compute project scheduling priority more efficiently
+ - client: if an app version can't be used because the GPUs it needs
+ are all excluded, mark it and all its results as "coproc missing"
+ so that they won't be looked at in scheduling logic.
+
+ client/
+ client_state.cpp
+ client_types.cpp,h
+ cpu_sched.cpp
+ gui_rpc_server_ops.cpp
+ log_flags.cpp,h
+ rr_sim.cpp
+ sim.cpp
+ work_fetch.cpp
+
+Charlie 3 Oct 2011
+ - client: Fix compiler warnings.
+
+ client/
+ cpu_sched.cpp
+
+David 3 Oct 2011
+ - web: fix error in profile listings.
+ From Uwe Becker.
+
+ html/user/
+ profile_menu.php
+
+David 3 Oct 2011
+ - lib: move XML parse test program to its own file.
+
+ Note: XML_PARSER::parse_str() doesn't currently work right
+ for something like xx.
+ It should return "xx".
+ TODO.
+
+ lib/
+ parse.cpp,h
+ parse_test.cpp (new)
+ Makefile.am
+
+David 3 Oct 2011
+ - scheduler: fix bugs that broke work fetch for anonymous platform;
+ don't send irrelevant messages to anon platform clients
+
+ sched/
+ sched_types.h
+ sched_send.cpp
+
+David 3 Oct 2011
+ - scheduler: record VirtualBox version # in the host table
+
+ sched/
+ handle_request.cpp
+ lib/
+ coproc.cpp,h
+
+David 4 Oct 2011
+ - client: don't generate notice if lookup of host
+ in remote_hosts.cfg fails.
+
+ client/
+ gui_rpc_server.cpp
+
+David 4 Oct 2011
+ - client: don't show "(device N)" if there's only 1 device
+
+ client/
+ client_types.cpp
+
+David 4 Oct 2011
+ - client: win compile fixes
+
+ client/
+ cpu_sched.cpp
+
+Rom 4 Oct 2011
+ - WINSCR: Before shutting down the screensaver, quickly reinitialize the OpenGL device
+ on the primary display. Some of the issues being reported with the screensaver
+ is a left over ghost image of the OpenGL display before the graphics application
+ was terminated because keyboard/mouse activity was detected.
+
+ clientscr/
+ screensaver_win.cpp
+ win_build/
+ boinc_os_ss.vcproj
+
+David 4 Oct 2011
+ - client: in the function that sorts jobs by arrival time,
+ don't use name as a tiebreaker.
+ The will typically group jobs of the same application,
+ and (it is believed that) things run faster when
+ applications are mixed.
+ - scheduler: bug: if a client gets host-specific prefs
+ (e.g. from an account manager)
+ it will send only the working prefs to the scheduler.
+ The scheduler then always sends back the DB prefs,
+ overwriting the host-specific prefs.
+ Fix: note the mod time in the working prefs,
+ and only send the DB prefs if they're more recent.
+
+ client/
+ cs_statefile.cpp
+ sched/
+ handle_request.cpp
+
+David 5 Oct 2011
+ - client: fix a memory leak; would lose ~120 bytes each time a job is started
+
+ lib/
+ filesys.cpp
+
+Rom 5 Oct 2011
+ - Lib: Re-enable boinc lib mem snapshots for BOINC based applications (boinc,
+ boincmgr, boinc.scr) on Windows.
+
+ lib/
+ diagnostics.cpp
+
+David 5 Oct
+ - client: fix memory leak when reading stderr of completed job.
+ This caused 128KB + size of stderr loss for each job.
+ - client: print error message if reading stderr fails
+ (e.g. because of malloc failure)
+
+ client/
+ app.h
+ app_control.cpp
+
+David 5 Oct
+ - client: free vectors in NOTICES, RSS_FEEDS, and DAILY_XFER_HISTORY
+ in free_mem() (for mem leak checking)
+
+ client
+ cs_notice.h
+ check_state.cpp
+ net_stats.h
+
+David 5 Oct
+ - scheduler: fix bug that caused scheduler to not send GPU jobs
+
+ sched/
+ sched_customize.cpp
+ lib/
+ coproc.cpp
+
+David 5 Oct
+ - client: problem: suppose a project has 2 data servers,
+ and one of them is down.
+ If several downloads from the broken one fail,
+ we go into "project-level backoff"
+ and don't start downloads from either server.
+ (Same applies to uploads).
+
+ Solution: make project-level backoff apply only to
+ transfers that have already failed at least once
+
+ client/
+ pers_file_xfer.cpp
+
+David 6 Oct
+ - GUI RPC: add get_daily_xfer_history() RPC for getting
+ the daily records of #bytes uploaded and downloaded
+
+ lib/
+ gui_rpc_client_print.cpp
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+ client/
+ boinc_cmd.cpp
+ gui_rpc_server_ops.cpp
+ net_stats.cpp,h
+ main.cpp
+
+David 6 Oct
+ - client: fix bug in writing daily xfer history file
+
+ client/
+ main.cpp
+ net_stats.cpp
+
+Charlie 7 Oct 2011
+ - client: write descriptions of OpenCL devices to stdout
+ (and display in manager's Event log).
+ - client: work around a bug where OpenCL reports global RAM of ATI
+ GPUs incorrectly (1/2 of actual value.)
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.cpp, .h
+
+David 7 Oct 2011
+ - client/server: change field names in OPENCL_DEVICE_PROP
+ to match those in the clGetDeviceInfo() calls.
+ Principles:
+ - if there's already a name for something, use it.
+ - follow case conventions
+
+ lib/
+ coproc.cpp,h
+ client/
+ coproc_detect.cpp
+ sched/
+ sched_customize.cpp,h
+
+David 7 Oct 2011
+ - scheduler add app_plan() support for plan classes
+ opencl_nvidia_101 and opencl_ati_101
+
+ sched/
+ sched_customize.cpp
+
+David 7 Oct 2011
+ - client and scheduler: estimate peak FLOPS for GPUs that
+ are detected by OpenCL but not by native APIs (CUDA/CAL).
+ This is limited by the fact that OpenCL doesn't give
+ us the necessary hardware info
+ (ATI; wavefrontSize; NVIDIA: compute capability).
+ We use the minimum values for these,
+ so in most cases we'll be underestimating the peak FLOPS.
+
+ lib/
+ coproc.cpp,h
+
+David 7 Oct 2011
+ - client (Mac): there was no error check of the creation
+ of a memory-mapped file used for communication with an app.
+ Add a check, and don't start the job if it fails.
+
+ client/
+ app_start.cpp
+
+David 7 Oct 2011
+ - client: don't do scheduler-requested RPCs if
+ - project is set to No New Work, and
+ - project has no jobs on the client
+
+ client/
+ client_types.h
+ work_fetch.cpp
+ cs_scheduler.cpp
+
+David 7 Oct 2011
+ - client/scheduler: the code for estimating peak FLOPS of ATI GPUs
+ (from Crunch3r) has a multiplier of 2.5 for cores/processor.
+ This is possibly because give a double-precision estimate.
+ But actually we want single-precision. Change it to 5. See
+ http://golubev.com/about_cpu_and_gpu_2_en.htm
+
+ lib/
+ coproc.cpp
+
+Charlie 7 Oct 2011
+ - client: improve code which writes OpenCL descriptions.
+
+ client/
+ coproc_detect.cpp
+
+Charlie 7 Oct 2011
+ - client: Compare openCL-only devices by estimated peak flops.
+
+ client/
+ coproc_detect.cpp
+ lib/
+ coproc.cpp,h
+
+David 7 Oct 2011
+ - scheduler: problem: in the daily quota mechanism,
+ the boundary between days is 00:00 in server local time.
+ This creates a spike of jobs being dispatched
+ (and files being downloaded) after that time.
+
+ Solution: distribute the boundary uniformly,
+ using a random number determined by the host ID.
+ (Make sure to save/restore the seed around this,
+ so we don't destroy the randomness of other things)
+
+ sched/
+ handle_request.cpp
+
+David 7 Oct 2011
+ - client: compare OpenCL-only devices the same as other devices
+ - code cleanup
+
+ lib/
+ coproc.cpp,h
+ client/
+ coproc_detect.cpp
+ sched/
+ sched_customize.cpp
+
+David 8 Oct 2011
+ - scheduler: fix crashing bug when using HR. From Kevin Reed.
+
+ sched/
+ sched_version.cpp
+
+Charlie 8 Oct 2011
+ - client: Fill in peak flops for each OpenCL GPU before compare;
+ else there is nothing to ompare with.
+
+ client/
+ coproc_detect.cpp
+
+David 8 Oct 2011
+ - API: don't crash if send trickle msg running standalone.
+ From Christian Ries.
+
+ api/
+ boinc_api.cpp
+
+David 8 Oct 2011
+ - client: fix bugs in acct manager attach/detach
+
+ client/
+ gui_rpc_server_ops.cpp
+
+Charlie 10 Oct 2011
+ - code cleanup
+
+ lib/
+ coproc.cpp,h
+ client/
+ coproc_detect.cpp
+
+Rom 10 Oct 2011
+ - client: Fix crashing bug in OpenCL detection on Windows.
+ - lib: Fix crashing bug for debug builds of the BOINC client software
+
+ client/
+ coproc_detect.cpp
+ lib/
+ diagnostics.cpp
+
+Charlie 10 Oct 2011
+ - code optimization
+
+ client/
+ coproc_detect.cpp
+
+Charlie 11 Oct 2011
+ - Mac installer: follow recommendations of Apple Developer Technical
+ Support: create users and groups boinc_master and boinc_project
+ at first available UserIDs and GroupIDs starting at 501 instead
+ of 25 to avoid conflicts with UserIDs and groupIDs which may be
+ added in the future; use Directory Services to find the user
+ names of all human users instead of stepping through the entries
+ in the /Users directory.
+ - Mac installer: revert to using LoginItemAPI.c under OS 10.7.1,
+ because it once again sets hidden property for login items, but
+ the AppleScript seems not to work under OS 10.7.1.
+
+ clientgui/
+ mac/
+ SetupSecurity.cpp
+ mac_installer/
+ PostInstall.cpp
+
+Rom 11 Oct 2011
+ - Tag for 6.13.7 release, all platforms
+ boinc_core_release_6_13_7
+
+ /
+ configure.ac
+ version.h
+
+David 11 Oct 2011
+ - client/server: add a new result state RESULT_UPLOAD_FAILED
+ for when the job completed successfully but
+ one or more output files had permanent upload failures.
+ Show this state in web interfaces.
+ - sample_work_generator: check return value of count_unsent_results(),
+ so that we don't generate infinite work if there's a DB problem
+ - web: RSS feed shows news items from last 90 days, rather than 14
+
+ sched/
+ sample_work_generator.cpp
+ html/
+ inc/
+ result.inc
+ user/
+ rss_main.php
+ lib/
+ coproc.cpp,h
+ error_numbers.h
+ common_defs.h
+ client/
+ client_types.cpp,h
+ client_state.cpp
+ coproc_detect.cpp
+
+David 11 Oct 2011
+ - client and user web: show NVIDIA driver version and CUDA version
+ as, e.g., 275.33 instead of 27533
+
+ html/inc/
+ host.inc
+ lib/
+ coproc.cpp
+
+Rom 11 Oct 2011
+ - vbox: Move the destination of the VBOX_USER_HOME environment variable to
+ /projects/virtualbox so that the virtualbox configuration
+ can remain consistent across one or more projects.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Charlie 11 Oct 2011
+ - client: fix NVIDIA driver version and CUDA version display for Mac.
+
+ lib/
+ coproc.cpp
+
+Rom 11 Oct 2011
+ - Tag for 6.13.8 release, all platforms
+ boinc_core_release_6_13_8
+
+ /
+ configure.ac
+ version.h
+
+David 11 Oct 2011
+ - scheduler: fix a bug that would choose app versions erroneously.
+ The problem: the choice of app version was based on
+ the "projected FLOPS" return by estimate_flops(av).
+ If usage stats exist for the host / app version,
+ this returns a number X such that
+ WU.rsc_fpops_est/X approximates the runtime of a job
+ using the given app version..
+ (If WU.rsc_fpops_est is way off, this will be correspondingly way off
+ from the actual FLOPS the app version will get.)
+ However, if there are no usage stats,
+ it return an estimate based on host hardware speed,
+ which might be 100X less.
+ Hence, in some cases a new app version would never get used.
+
+ Solution: choose app versions based on the values
+ returned by the app plan functions.
+ Use estimate_flops() AFTER choosing the version.
+ - scheduler: improve the accuracy of FLOPS estimation for GPU apps.
+ The "flops_scale" argument to coproc_perf
+ (which expresses the difference between peak GPU FLOPS
+ and actual FLOPS) should be used to scale GPU FLOPS
+ prior to calling coproc_perf(),
+ rather than scaling the estimate returned by coproc_perf().
+ - show_shmem: show have_X_apps flags
+
+ sched/
+ sched_customize.cpp
+ sched_version.cpp
+ sched_shmem.cpp
+
+Charlie 12 Oct 2011
+ - client: fix honoring of cc_config ignore GPU options.
+
+ client/
+ coproc_detect.cpp
+
+Charlie 13 Oct 2011
+ - atiopencl sample: call boinc_get_opencl_ids() if not stand-alone;
+ improve error messages.
+
+ samples/
+ atiopencl/
+ atiopencl.cpp
+
+Rom 13 Oct 2011
+ - WINSCR: Move the reset display call to the end of the full screensaver
+ section. We do not need to perform a display reset in the various
+ test modes.
+
+ clientscr/
+ screensaver_win.cpp
+
+David 13 Oct 2011
+ - client: fix bug where network suspend got ignored when
+ OS suspends (e.g. sleep or hibernate)
+
+ client/
+ cs_prefs.cpp
+
+David 13 Oct 2011
+ - client: create and destroy PERS_FILE_XFERs even if network suspended.
+ This will show pending uploads in the Transfers tab.
+ - file_upload_handler: fix message to client when can't acquire lock
+ - client: parse in state file correctly
+
+ client/
+ client_stte.cpp
+ sim.cpp
+ cs_statefile.cpp
+ cs_files.cpp
+ sched/
+ file_upload_handler.cpp
+
+David 13 Oct 2011
+ - web: fix bug in user search when enter empty name prefix
+
+ html/user/
+ user_search.php
+
+Rom 13 Oct 2011
+ - MGR: Support both the old and new libnotify at runtime on Linux
+
+ clientgui/gtk/
+ taskbarex.cpp
+
+David 13 Oct 2011
+ - manager: don't show slot number in simple view task list
+
+ clientgui/
+ sg_TaskPanel.cpp,h
+
+Rom 13 Oct 2011
+ - MGR: Remove code that blocks the switch to simple view when an
+ accessibility aid is running.
+
+ clientgui/
+ BOINCGUIApp.cpp
+ AdvancedFrame.cpp
+
+Rom 14 Oct 2011
+ - Remove dead code related to v5 graphics applications from the
+ client software.
+
+ client/
+ boinc_cmd.cpp
+ clientgui/
+ AsyncRPC.cpp, .h
+ BOINCGUIApp.cpp, .h
+ MainDocument.cpp
+ clientgui/gtk/
+ taskbarex.cpp
+ clientscr/
+ screensaver.cpp
+ lib/
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+ win_build/
+ win-config.h
+
+Rom 14 Oct 2011
+ - MGR: Remove the triangle in the lower right-hand corner of the
+ default project image for the simple GUI
+
+ clientgui/res/skins/default/graphic/
+ project_image.xpm
+
+Rom 14 Oct 2011
+ - MGR: Persist Simple GUI notification dialog size and position
+ information.
+ - MGR: Remove context menu help buttons from dialog.
+
+ clientgui/
+ sg_DlgMessages.cpp
+
+David 14 Oct 2011
+ - client: show OpenCL version correctly on Win
+ lib/
+ coproc.cpp
+
+David 14 Oct 2011
+ - client: improvements to job scheduling and work fetch policies.
+ - Job scheduling: the baseline policy is to schedule based on "project priority",
+ which is how much processing P should receive based on resource share
+ minus how much it actually has received recently.
+ This policy tends to run jobs from the same project together,
+ so we modified it by adding a priority adjustment as jobs are scheduled.
+ The idea is that if 2 projects have about the same priority
+ they should split the processors.
+
+ The problem: the adjustment was too large on hosts that are on
+ only a small fraction of the time,
+ thus tending to run 1 job from each project, regardless of priority.
+
+ Solution: make an adjustment that reflects the host's actual throughput.
+ See adjust_rec_sched() for details.
+
+ - Work fetch: similar situation.
+ We were making an adjustment based on how much work the project currently has queued,
+ but the adjustment drowned out the project priority,
+ so we'd tend to always get work from the project that has least work queued.
+ Solution: make a smaller adjustment (-.3 ... .3)
+
+ - client: in message announcing app start, show the plan class
+
+ - client: don't show "unrecognized XML" messages for account files.
+ It's typically project-specific prefs that the client doesn't know about.
+
+ client/
+ app_start.cpp
+ client_state.cpp
+ cpu_sched.cpp
+ cs_account.cpp
+ work_fetch.cpp
+
+David 14 Oct 2011
+ - client: bug fix for the above
+ client/
+ work_fetch.cpp
+
+David 14 Oct 2011
+ - scheduler: in cuda_check(), ati_check() and opencl_check()
+ (in sched_customize.cpp)
+ the flops_scale argument is intended to express the
+ GPU efficiency (actual/peak).
+ Pass appropriate values.
+
+ sched/
+ sched_customize.cpp
+ sched_version.cpp
+ html/
+ ops/
+ index.php
+ inc/
+ db_ops.inc
+
+David 16 Oct 2011
+ - client simulator: make the output more graphical
+
+ html/
+ inc/
+ util.inc
+ client/
+ sim.cpp
+
+David 17 Oct 2011
+ - add boinc_opencl.h to set of installed headers
+ - emulator tweaks
+ lib/
+ Makefile.am
+ client/
+ sim.cpp
+ sim_util.cpp
+
+David 17 Oct 2011
+ - client: call xp.skip_unexpected() if get unexpected tag,
+ to avoid showing multiple error messages
+ - client simulator: bug fixes and tweaks
+
+ client/
+ client_types.cpp,h
+ app.h
+ sim.cpp,h
+ work_fetch.cpp
+ sim_util.cpp
+
+David 17 Oct 2011
+ - client: associate a PROJECT with HTTP_OP where applicable,
+ so that if you use and filter by project
+ you don't see other projects' HTTP stuff
+ - client simulator: cc_config.xml is part of the scenario;
+ log flags are part of the simulation
+
+ client/
+ http_curl.cpp,h
+ sim.cpp
+ work_fetch.cpp
+ file_xfer.cpp
+ gui_http.cpp
+ scheduler_op.cpp
+
+Rom 17 Oct 2011
+ - MGR: Make the Default skin loadable from the file system.
+ - MGR: Change the in-memory defaults for the skin to be a light-gray
+ background.
+ - MGR: Change the dots used in the simple gui.
+ - MGR: Make the dots used in the simple gui skinable.
+ - MGR: Change the 'Project Web Sites' button text to 'Project Web Pages'.
+ - MGR: Add a basic 'Default' skin to be included by the various
+ installers
+ - MGR: Remove a bunch of files that are not used by the default skin
+ anymore.
+
+ clientgui/res/skins/default/graphic/
+
+ clientgui/res/templates/
+ dotgreen.gif
+ dotred.gif
+ dotyellow.gif
+ clientgui/
+ sg_DlgPreferences.cpp
+ sg_ProjectPanel.cpp
+ sg_TaskPanel.cpp, .h
+ SkinManager.cpp, .h
+ clientgui/skins/Default/
+ background_image.png
+ clientgui/skins/Default/
+ skin.xml
+
+David 18 Oct 2011
+ - backend API: added function cancel_jobs(minid, maxid)
+ for canceling jobs
+ - added program cancel_jobs for canceling jobs
+ - DB interface: it's not an error if update_fields_noid()
+ affects != 1 rows
+
+ db/
+ db_base.cpp
+ tools/
+ backend_lib.cpp,h
+ cancel_jobs.cpp (new)
+ poll_wu.cpp
+ Makefile.am
+ lib/
+ parse.cpp
+ py/Boinc/
+ setup_project.py
+
+Charlie 18 Oct 2011
+ - Mac: Update Mac build scripts, XCode project and source files
+ to allow automated builds under OS 10.7 Lion and XCode 4.2.
+ - Mac: Build and link jpeglib from boinc/samples/jpeglib instead
+ of requiring a separate jpeglib-6b directory.
+
+ api/
+ gutil.cpp
+ gutil_text.cpp
+ lib/
+ mac/
+ QBackTrace.c
+ QCrashReport.c
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ buildc-ares.sh
+ buildcurl.sh
+ BuildMacBOINC.sh
+ buildWxMac.sh
+ setupForBOINC.sh
+ mac_installer/
+ Installer.cpp
+ PostInstall.cpp
+ samples/
+ jpeglib/
+ jconfig.h
+
+Rom 18 Oct 2011
+ - MGR: More simple GUI text changes
+ - MHR: Reduce clutter in log file
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_ProjectPanel.cpp, .h
+
+David 18 Oct 2011
+ - client: change the way project priorities are computed,
+ so that they do what they're supposed to
+ (i.e. enforce resource shares)
+ - client: change log flag to
+ - client simulator: update REC even with large delta-t.
+ - client simulator: handle "no new work" apps correctly
+
+ api/
+ Makefile.am
+ client/
+ work_fetch.cpp,h
+ client_types.h
+ client_state.cpp
+ sim.cpp
+ rr_sim.cpp
+ sim_util.cpp
+ cpu_sched.cpp
+
+David 18 Oct 2011
+ - client: fix bug that caused extra "<" to get written at
+ end of global_prefs_override.xml and cc_config.xml
+ when they are modified via GUI RPCs
+
+ client/
+ gui_rpc_server_ops.cpp
+
+David 19 Oct 2011
+ - client: fix crashing bug when there's a cycle in the process graph.
+ I had fixed this in one place but not another.
+ - client: don't memset(0,) a PROCINFO; use clear() instead
+
+ lib/
+ proc_control.cpp
+ procinfo_mac.cpp
+ procinfo_unix.cpp
+ procinfo_win.cpp
+
+Charlie 19 Oct 2011
+ - Mac: Update XCode project and Mac build scripts to build
+ libboinc_opencl.a library and to work both with XCode 3.2 on
+ OS 10.6.8 and with XCode 4.2 on OS 10.7.2.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ BuildMacBOINC.sh
+
+Charlie 19 Oct 2011
+ - MGR: Replace backup images RedDot16.xpm, YellowDot16.xpm and
+ GreenDot16.xpm with XPM files created from Rom's new files
+ dotred.gif, dotyellow.gif and dotgreen.gif. These need to
+ be cmpiled into the source code as backups in case the GIFs
+ are missing, because these images are essential resources.
+
+ clientgui/
+ res/
+ RedDot16.xpm
+ YellowDot16.xpm
+ GreenDot16.xpm
+
+Charlie 19 Oct 2011
+ - MGR: Simple View bug fix.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+Rom 19 Oct 2011
+ - MGR: Fix dot images
+
+ clientgui/res/skins/default/graphic/
+ workunit_running_image.xpm
+ workunit_suspended_image.xpm
+ workunit_waiting_image.xpm
+ clientgui/res/templates/
+ dotgreen.gif
+ dotred.gif
+ dotyellow.gif
+
+David 19 Oct 2011
+ - client simulator: bug fix
+
+ client/
+ sim.cpp
+ lib/
+ parse.cpp
+
+Charlie 20 Oct 2011
+ - MGR: Replace colored dot GIF files with new PNG files which do
+ the anti-aliasing in the alpha channel, so they look correct
+ when highlighted on the Mac. Generate new XPM files from
+ these PNG files.
+
+ clientgui/res/skins/default/
+ graphic/
+ workunit_running_image.xpm
+ workunit_suspended_image.xpm
+ workunit_waiting_image.xpm
+ skin.xml (added)
+ clientgui/res/templates/
+ dotgreen.gif (deleted)
+ dotred.gif (deleted)
+ dotyellow.gif (deleted)
+ Green_dot.png (added)
+ Red_dot.png (added)
+ Yellow_dot.png (added)
+
+Charlie 20 Oct 2011
+ - MGR: Force update of Task Selection List on reskin interface.
+
+ clientgui/
+ sg_TaskPanel.cpp,h
+
+Charlie 20 Oct 2011
+ - MGR: Move skin file to correct place, set background image's
+ background color to black for this background_image.png.
+
+ clientgui/
+ res/skins/default/
+ skin.xml (deleted)
+ skins/Default/
+ skin.xml
+
+David 21 Oct 2011
+ - client/API: pass bool using_sandbox in APP_INIT_DATA;
+ says whether the client is using account-based sandboxing.
+ Needed by vboxwrapper.
+ - web: don't show authenticator in Your Account page.
+ The problem with authenticators is that if a bad guys gets yours,
+ they can log in to your account even if you change your password.
+ Eventually we should not use them at all
+ (i.e. in cookies and sent to client).
+ - make_project: copy python stuff (e.g. bin/start) for web-only projects;
+ generate appropriate project.readme file for web-only projects.
+
+ html/inc/
+ user.inc
+ lib/
+ app_ipc.cpp,h
+ client/
+ app_start.cpp
+ cs_scheduler.cpp
+ tools/
+ make_project
+ py/Boinc/
+ setup_project.py
+
+Charlie 21 Oct 2011
+ - MGR: Adjust preference dialog titles, improve Simple View menus
+ and other text, make Simple Preferences dialog more like
+ Advanced Preferences dialog.
+
+ clientgui/
+ AdvancedFrame.cpp
+ DlgAdvPreferencesBase.cpp
+ DlgOptions.cpp
+ Events.h
+ sg_BoincSimpleFrame.cpp,.h
+ sg_DlgMessages.cpp,.h
+ sg_DlgPreferences.cpp,.h
+
+Rom 21 Oct 2011
+ - VBOX: Don't redirect VirtualBox to a different directory structure for
+ the root configuration file when the client is NOT in sandbox mode.
+ Doing so could cause confusion if the volunteer uses VirtualBox for
+ any of their own work. If BOINC started up first it would have appeared
+ that their own VM's no longer existed.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 21 Oct 2011
+ - MGR: Make the simple gui rounded edges seem smoother by increasing the
+ radius.
+ - MGR: Fix project name font in the tasks area, normal size. Increase
+ its weight to BOLD.
+ - MGR: Make sure the dot is red if the project has been suspended for
+ the given task.
+
+ clientgui/
+ sg_PanelBase.cpp
+ sg_TaskPanel.cpp
+
+David 21 Oct 2011
+ - scheduler: fix calculation of ATI peak FLOPS;
+ older clients don't report have_cal.
+
+ lib/
+ coproc.cpp
+
+Rom 21 Oct 2011
+ - MGR: Scale background skin so that it now fits in the new simple gui
+ NOTE: We are in the process of trying to get new artwork so that we
+ can handle the localization issues better.
+
+ clientgui/skins/Default/
+ background_image.png
+
+David 21 Oct 2011
+ - fix NVIDIA peak FLOPS
+
+ lib/
+ coproc.cpp
+
+David 21 Oct 2011
+ - update_versions: touch trigger file so that feeder rereads DB
+
+ tools/
+ update_versions
+
+Charlie 21 Oct 2011
+ - MGR: Fix crash bug.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp,.h
+
+Charlie 21 Oct 2011
+ - MGR: Fix project name font on Mac, which uses Lucinda Grande font
+ not Arial. SetFont for the parent window does not propogate to
+ the text controls because CTransparentStaticText uses OnPaint()
+ to draw.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+Charlie 22 Oct 2011
+ - MGR: Bug fix: when the task currently selected in Simple View
+ is deleted, change selection to a different task.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+Charlie 23 Oct 2011
+ - MGR: Sort Simple View task selection control alphabetically.
+
+ clientgui/
+ mac/
+ MacBitmapComboBox.cpp,.h
+ sg_TaskPanel.cpp
+
+Charlie 23 Oct 2011
+ - MGR: Reverted the above change because wxBitmapComboBox on Windows
+ loses existing items' clientData when we Insert() a new item.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+David 23 Oct 2011
+ - web: forum RSS shouldn't filter sticky threads.
+ Not sure why that was in there.
+ html/inc/
+ forum_rss.inc
+
+Charlie 24 Oct 2011
+ - Mac installer: Fix a very old bug.
+
+ mac_build/
+ Mac_SA_Secure.sh
+
+David 24 Oct 2011
+ - client: reimplement the round-robin simulator to
+ reduce its runtime from O(N^2) to O(N),
+ where N is the number of runnable jobs
+ (which can be in the thousands).
+ This will make the client emulator run a lot faster,
+ and will reduce the client CPU overhead a bit.
+ - API: change boinc_get_opencl_ids() so that it returns
+ a BOINC error code (< -100) if the app_init.xml is
+ missing or bad (i.e. we're running standalone),
+ and an OpenCL error code (> -100) if an OpenCL call failed.
+
+ client/
+ work_fetch.cpp,h
+ client_types.h
+ sim.cpp
+ rr_sim.cpp
+
+Rom 24 Oct 2011
+ - MGR Skins: Fix numerious issues related to bad entries in the Skin XML
+ file.
+
+ clientgui/
+ SkinManager.cpp
+ clientgui/skins/GridRepublic/
+ skin.xml
+ clientgui/skins/Progress Thru Processors/
+ skin.xml
+
+David 24 Oct 2011
+ - API: compile fixes for MinGW. From Oliver Bock.
+
+ lib/
+ win_util.h
+ boinc_win.h
+ proc_control.h
+ Makefile.mingw
+ parse.h
+
+Charlie 25 Oct 2011
+ - MGR: Sort Simple View task selection control alphabetically.
+ Subclassed CBOINCBitmapComboBox from wxBitmapComboBox to work
+ around clientData bug in wxBitmapComboBox::Insert().
+
+ clientgui/
+ BOINCBitmapComboBox.cpp,.h (added)
+ mac/
+ MacBitmapComboBox.cpp,.h
+ sg_PanelBase.h
+ sg_ProjectPanel.cpp
+ sg_TaskPanel.cpp,.h
+ win_build/
+ boincmgr.vcproj
+
+Charlie 25 Oct 2011
+ - MGR: Allow skin to specify the (simulated) opacity of Simple View
+ task and project panels on a scale of 0 (clear) to 255 (opaque).
+
+ clientgui/
+ sg_PanelBase.cpp
+ SkinManager.cpp,.h
+
+Rom 25 Oct 2011
+ - Tag for 6.13.9 release, all platforms
+ boinc_core_release_6_13_9
+
+ /
+ configure.ac
+ version.h
+
+David 25 Oct 2011
+ - web: typo in forum RSS from Daniel L G; fixes #1147
+ - client: message tweak
+
+ html/inc/
+ forum_rss.inc
+ client/
+ cpu_sched.cpp
+
+David 25 Oct 2011
+ - scheduler: fix bug in the "homogeneous app version" (HAV) feature
+ (reported by Kevin Reed).
+ The problem: cache inconsistency.
+ If there are 2 results for the same WU in shared mem,
+ and 2 scheduler instances get them around the same time,
+ they can send them with different app versions.
+ We already fixed this problem for HR by
+ 1) rereading the relevant WU fields while deciding
+ whether to send the result
+ 2) doing a "careful update" of the WU field using a where clause
+ to make sure it wasn't modified in the (short) interval
+ since rereading it.
+ I fixed the HAV problem in the same way,
+ and merged the two mechanisms to combine the DB queries.
+
+ Also:
+ - The rereads are done in slow_check() (see below).
+ - The careful updates are done in update_wu_on_send(),
+ and this is called *before* doing careful updates on result fields.
+ That way, if the WU updates fail, we don't have orphaned results.
+ - already_sent_to_different_platform_careful() (sic)
+ no longer does DB stuff, so it's merged with
+ already_send_to_different_hr_class() (better name)
+
+ NOTE: slow_check() is used in array scheduling only.
+ Score-based scheduling uses other code,
+ in which this bug is not yet fixed.
+ Locality scheduling doesn't support HR or HAV at all.
+ This should be unified.
+
+ db/
+ db_base.cpp,h
+ sched/
+ sched_hr.cpp,h
+ sched_array.cpp
+ sched_send.cpp
+ sched_score.cpp
+
+Charlie 26 Oct 2011
+ - Mac: Modify XCode project to link with libcrypto.0.9.7.dylib and
+ libssl.0.9.7.dylib if OS 10.5 SDK is present, to allow running
+ BOINC on OS 10.4 and later. If OS 10.5 SDK is not present then
+ it will link with libcrypto.0.9.8.dylib and libssl.0.9.87.dylib
+ and product will require OS 10.6 or later.
+ (Checked into 6.13.9 tag.)
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Charlie 26 Oct 2011
+ - Mac: Update build instructions for client and libraries.
+ - Mac installer: fix bugs when installing under OS 10.5.
+ - Mac installer: Update release script to include Default skin.
+ (All checked into 6.13.9 tag.)
+
+ mac_build/
+ HowToBuildBOINC_XCode.rtf
+ mac_installer/
+ postInstall
+ PostInstall.cpp
+ release_boinc.sh
+
+David 26 Oct 2011
+ - scheduler: tweaks to last night's checkin.
+ In the inner loop of scan_work_array() there are two WORKUNITs:
+ - the one that's part of wu_result (in the shared-mem array)
+ - a temp copy.
+ quick_check() may modify this in host-specific ways
+ (e.g., adjusting rsc_fpops_est or delay_bound).
+ This is the one we pass to add_result_to_reply().
+ When we reread hr_class and app_version_id from the DB,
+ update both structs.
+
+ sched/
+ sched_array.cpp
+ sched_send.cpp
+
+David 26 Oct 2011
+ - client: fix typo in project parse code
+
+ client/
+ client_types.cpp
+
+David 26 Oct 2011
+ - scheduler: typo in a SQL query
+
+ sched/
+ sched_send.cpp
+
+David 26 Oct 2011
+ - web: fix typo that failed to show ATI GPUs in top-GPU page
+
+ html/user/
+ gpu_list.php
+
+David 26 Oct 2011
+ - client: smoothed working-set size wasn't being computed correctly.
+ It was always just the most recent size.
+
+ sched/
+ sched_util.cpp
+ sample_work_generator.cpp
+ lib/
+ procinfo.h
+ client/
+ app.cpp
+
+David 26 Oct 2011
+ - scheduler: bug fix from Kevin
+
+ sched/
+ sched_send.cpp
+
+Charlie 27 Oct 2011
+ - Mac installer: Update release script to create projects/virtualbox/
+ directory, to ensure it has the correct owner and permissions
+ because vboxwrapper does not have sufficient privileges to do so.
+
+ mac_installer/
+ release_boinc.sh
+
+Rom 27 Oct 2011
+ - Tag for 6.13.10 release, all platforms
+ boinc_core_release_6_13_10
+
+ /
+ configure.ac
+ version.h
+
+Charlie 28 Oct 2011
+ - Mgr: Exit manager as soon as quit rpc to client succeeds, instead
+ of waiting for client to exit.
+ (Checked in to 6.13.10 for Mac build only.)
+
+ The problem: if suspended tasks are kept in memory, some project
+ applications don't respond to exit request from client, but client
+ needs to allow 20 seconds before killing them in case they are
+ writing a large checkpoint file. But if the manager waits that
+ long to exit, it seems unresponsive to users, so it was killing
+ the client after only 10 seconds. This left orphan project apps
+ in RAM.
+
+ The solution: assume that if the quit rpc to the client succeeds,
+ the client will exit properly, so kill client only if RPC fails
+ or is not completed in 10 seconds.
+
+ clientgui/
+ BOINCClientManager.cpp
+ BOINCGUIApp.cpp,.h
+
+David 28 Oct 2011
+ - GUI RPC client: parse the reply of quit(),
+ so that it returns an error if no response
+
+ lib/
+ gui_rpc_client_ops.cpp
+
+David 28 Oct 2011
+ - web: Display AMD GPU info correctly. From Teemu Mannermaa.
+
+ html/inc/
+ host.inc
+
+Charlie 29 Oct 2011
+ - Mgr: Code cleanup.
+
+ clientgui/
+ BOINCClientManager.cpp,.h
+ BOINCGUIApp.cpp,.h
+ MainDocument.cpp
+
+David 29 Oct 2011
+ - lib: fix a "strcpy(p, p+1)" instance
+
+ lib/
+ url.cpp
+
+Charlie 31 Oct 2011
+ - api: Update comments, remove unused includes for boinc_opencl.a.
+
+ api/
+ boinc_opencl.cpp
+
+David 2 Nov 2011
+ - API: fix bug in boinc_get_opencl_ids()
+ - add simulator for distributed storage (not finished)
+
+ api/
+ boinc_opencl.cpp
+ client/
+ app_start.cpp
+ ssim/
+ des.h
+ ssimp.cpp
+ makefile
+
+David 2 Nov 2011
+ - server: plan class names containing 'nvidia' or 'cuda'
+ are assumed to be for NVIDIA GPU apps;
+ plan class names containing 'ati' are assumed to be for AMD GPU apps.
+ Clauses for 'nvidia' were missing in a couple of places.
+
+ sched/
+ sched_customize.cpp
+ sched_version.cpp
+ html/inc/
+ util.inc
+ lib/
+ gui_rpc_client_ops.cpp
+
+David 2 Nov 2011
+ - scheduler: in update_wu_on_send(), always try to update
+ the hr_class and app_version_id fields,
+ with the where clause that they be either zero or the target value.
+ This handles the cases where
+ 1) because of the failure of a results, the transitioner set
+ the field back to zero;
+ 2) another scheduler set the field to the target value
+ (from Kevin Reed)
+
+ sched/
+ sched_send.cpp
+ client/
+ makefile_sim
+
+David 2 Nov 2011
+ - feeder: fix logic error in the way app_version.pfc_scale is updated
+ (from Kevin Reed)
+
+ sched/
+ credit.cpp
+
+Charlie 3 Nov 2011
+ - api: Restore lost checkin of 31 October 2011.
+ - Mac installer: update ReadMe files for BOINC 6.13.x.
+
+ api/
+ boinc_opencl.cpp
+ mac_installer/
+ CE-ReadMe.rtf
+ GR-ReadMe.rtf
+ PTP-ReadMe.rtf
+ ReadMe.rtf
+
+David 3 Nov 2011
+ - client: fix bugs when writing/parsing cc_config.xml via GUI RPCs
+ (e.g. when editing it via the Manager).
+ Include only the GPUs that were specified in the original cc_config.xml,
+ not those detected by the client.
+ - client: fix bug that failed to require authorization for
+ GUI RPCs that are supposed to be authorized
+ - client: report parse errors in acct_mgr_url.xml and acct_mgr_login.xml
+ - fix compile warnings
+ - user web: in sample project_specific_prefs.inc,
+ get app names from the DB instead of listing them in the PHP code.
+
+ html/project.sample/
+ project_specific_prefs.inc
+ lib/
+ coproc.h
+ cc_config.cpp
+ client/
+ switcher.cpp
+ coproc_detect.cpp
+ gui_rpc_server_ops.cpp
+ acct_mgr.cpp
+ app.cpp
+ cpu_sched.cpp
+
+David 3 Nov 2011
+ - wrapper: handle Windows .bat files as main programs
+
+ samples/wrapper/
+ wrapper.cpp
+
+David 3 Nov 2011
+ - client: show GPU exclusions at startup
+ (need to do this after reading the state file,
+ since GPU exclusions refer to projects).
+ - client: fix bug that added garbage element
+ to in state file when using GPU exclusions
+
+ client/
+ client_types.cpp
+ client_state.cpp
+ log_flags.cpp
+
+David 4 Nov 2011
+ - client: fix work fetch bug.
+ If we're contacting a project to report results,
+ only piggyback work requests for resources for which
+ that project is the highest priority that may have work.
+ - client: compute result.not_started more efficiently
+
+ TODO: continue efficiency work. There's still some quadratic stuff
+
+ client/
+ client_types.cpp,h
+ client_state.cpp
+ sim.cpp
+ work_fetch.cpp
+ cpu_sched.cpp
+
+Charlie 5 Nov 2011
+ - client: Fix compile error.
+
+ client/
+ cs_scheduler.cpp
+
+Charlie 5 Nov 2011
+ - Mac: add -Wno-format-security compiler flag to suppress warning
+ that format string is not a string literal in code to show
+ messages from server in CLIENT_STATE::handle_scheduler_reply().
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+Charlie 5 Nov 2011
+ - client: fix errors in (currently unused) get_max_cpu_temperature()
+ code for Macintosh.
+
+ client/
+ hostinfo_unix.cpp
+
+David 4 Nov 2011
+ - client: fix compile warning
+ client/
+ cs_scheduler.cpp
+
+David 4 Nov 2011
+ - client: attempt to fix bug reported by John McLeod,
+ where the client crashes after giving up (90 day timeout) on an upload.
+ I'm guessing this was caused by [24391],
+ which changed the order in the poll loop from
+ garbage_collect
+ file_xfers->poll
+ pers_file_xfers->poll
+ handle_pers_file_xfers
+ to
+ garbage_collect
+ handle_pers_file_xfers
+ file_xfers->poll
+ pers_file_xfers->poll
+ I don't understand why this would have caused a crash,
+ but so be it.
+ I restored the original order, but with handle_pers_file_xfers
+ not inside the if (!network_suspended).
+ - client renamed handle_pers_file_xfers() to
+ create_and_delete_pers_file_xfers()
+ - client simulator: show simulator CPU time
+
+ client/
+ client_state.cpp
+ sim.cpp
+ client_state.h
+ pers_file_xfer.cpp
+ cs_files.cpp
+
+Charlie 5 Nov 2011
+ - Mac: remove -Wno-format-security compiler flag (no longer needed).
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+
+David 5 Nov 2011
+ - scheduler: fix bug in HR code (from Kevin)
+
+ sched/
+ sched_send.cpp
+
+David 5 Nov 2011
+ - client: don't crash if trickle up exceeds 64KB
+ (this bug was introduced Sept 20)
+ - scheduler: truncate long trickle-ups to 256KB; don't crash
+
+ db/
+ db_base.cpp,h
+ client/
+ cs_trickle.cpp
+
+David 6 Nov 2011
+ - client: actually do the checking described above
+
+ client/
+ cs_trickle.cpp
+
+David 6 Nov 2011
+ - client: don't crash if a project sends app_version.flops = 0.
+
+ client/
+ client_types.cpp
+ rr_sim.cpp
+
+Charlie 7 Nov 2011
+ - Mgr: Bug fix.
+
+ clientgui/
+ BOINCGUIApp.cpp
+
+David 7 Nov 2011
+ - manager: apparently WxWidget's combo box has problems (bugs)
+ if multiple items have the same string.
+ So, in simple view task combo box:
+ - show % done (unique in most cases)
+ - remove version number
+ - instead of showing plan class, show "NVIDIA GPU" or "ATI GPU"
+ TODO: update the fraction done
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+David 7 Nov 2011
+ - client: condition RR sim negative FLOPs message on rr_simulation.
+
+ client/
+ rr_sim.cpp
+
+Rom 7 Nov 2011
+ - client: reduce complexity, possibly get rid of a crash condition
+ on 64-bit Windows.
+
+ client/
+ cs_prefs.cpp
+
+Rom 7 Nov 2011
+ - MGR: Change default skin to the one Jacob Klein purposed.
+
+ clientgui/res/templates/
+
+ clientgui/skins/Default/
+ background_image.png
+ skin.xml
+ workunit_running_image.png
+ workunit_suspended_image.png
+ workunit_waiting_image.png
+
+David 7 Nov 2011
+ - client: on transient upload failure, don't do start_xfer()
+ within PERS_FILE_XFER::transient_failure();
+ we're about to delete and free the FILE_XFER.
+ The transfer will be restarted in the next poll.
+
+ client/
+ pers_file_xfer.cpp
+
+Charlie 8 Nov 2011
+ - Mgr: Fix Simple View layout to fit 3 decimal places for % done.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+Charlie 8 Nov 2011
+ - Mac installer: fixes for OS 10.4 compatibility.
+
+ mac_installer/
+ PostInstall.cpp
+
+Rom 8 Nov 2011
+ - API: Remove exception trapping stuff from the
+ boinc_get_opencl_ids.
+
+ api/
+ boinc_opencl.cpp
+
+David 8 Nov 2011
+ - DB: use %u when writing result IDs in SQL queries;
+ this is to support SETI@home, which ran out of result IDs
+ and changed the DB field type to int unsigned.
+ Note: eventually I'll make this change official
+ and change the .h types as well.
+ - web: put tags around elements
+ in project-specific prefs.
+
+ db/
+ boinc_db.cpp
+ db_base.cpp
+ sched/
+ sched_send.cpp
+ html/project.sample/
+ project_specific_prefs.inc
+
+Charlie 9 Nov 2011
+ - Mgr: to fix Windows combo box problem when multiple items have
+ the same string, add spaces to identical application names in
+ Task Selection control as needed to make each entry unique.
+ Don't append % done to Task Selection control entries, as that
+ varies over time, causing significant complications.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+Rom 9 Nov 2011
+ - WINSCR: Add a reference to SCRAPPERR_BOINCNOGRAPHICSAPPSEXECUTING
+ in the message lookup table.
+
+ clientscr/
+ screensaver_win.cpp
+
+Rom 9 Nov 2011
+ - WINSCR: In the ResetProc message pump, change the call for CloseWindow()
+ to DestroyWindow().
+
+ clientscr/
+ screensaver_win.cpp
+
+Rom 9 Nov 2011
+ - WINSCR: Sync up the timer IDs.
+
+ clientscr/
+ screensaver_win.cpp
+
+David 9 Nov 2011
+ - server: more fixes to DB to handle unsigned result IDs
+
+ db/
+ boinc_db.cpp
+
+Jeff 9 Nov 2011
+ - server: more fixes to DB to handle unsigned result IDs
+
+ sched/
+ feeder.cpp
+ sched_shmem.cpp
+ db_purge.cpp
+ sched_assign.cpp
+ lib/
+ parse.cpp
+
+David 9 Nov 2011
+ - OpenCL API: fix logic error
+
+ api/
+ boinc_opencl.cpp
+
+David 9 Nov 2011
+ - OpenCL API: check return value from clGetDeviceIDs()
+
+ api/
+ boinc_opencl.cpp
+
+David 9 Nov 2011
+ - scheduler: compute result.report_deadline BEFORE passing it
+ as an arg to update_wu_on_send()
+
+ sched/
+ sched_send.cpp
+
+Charlie 9 Nov 2011
+ - WINSCR: Fix compile error.
+
+ clientscr/
+ screensaver_win.cpp
+
+Rom 10 Nov 2011
+ - WINSCR: Attempt to gracefully shutdown a graphics application first
+
+ clientscr/
+ screensaver.cpp
+
+Rom 10 Nov 2011
+ - client & lib: Update the OpenCL header to include calling conventions
+ and weak link information for Mac machines.
+
+ lib/
+ cl_boinc.h
+
+Rom 10 Nov 2011
+ - Tag for 6.13.11 release, all platforms
+ boinc_core_release_6_13_11
+
+ /
+ configure.ac
+ version.h
+
+Charlie 9 Nov 2011
+ - MGR: On Mac, work around bug in XCode 4.2 by accepting and ignoring
+ command line argument "-NSDocumentRevisionsDebugMode=YES"
+ - client: On Mac, work around bug in XCode 4.2 by accepting and ignoring
+ command line argument "-NSDocumentRevisionsDebugMode=YES"
+ (checked into 6.13.11 tag)
+
+ client/
+ cs_cmdline.cpp
+ clientgui/
+ BOINCGUIApp.cpp
+
+Charlie 11 Nov 2011
+ - Mgr: fix a bug deleting entries from Task Selection control which I
+ introduced on 9 November. Deleting an entry cvan create a gap in
+ the alphabetically sorted sequence, so we can't use my earlier
+ shortcut in checking for existing entries.
+ - Mgr: If a slide show has only one slide, load it only once.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+David 11 Nov 2011
+ - client: check return value of FILE_REF when parse project file.
+ Fixes crashing bug.
+
+ client/
+ client_types.cpp
+ ssim/
+ ssim.cpp
+
+Rom 11 Nov 2011
+ - MGR: Update default skin to v4.
+
+ clientgui/res/templates/
+
+ clientgui/skins/Default/
+ background_image.png
+ skin.xml
+ workunit_running_image.png
+ workunit_suspended_image.png
+ workunit_waiting_image.png
+
+Rom 11 Nov 2011
+ - Tag for 6.13.12 release, all platforms
+ boinc_core_release_6_13_12
+
+ /
+ configure.ac
+ version.h
+
+Charlie 11 Nov 2011
+ - Mac installer: There can now be multiple instances of the Manager
+ running, so shut them all down.
+
+ mac_installer/
+ PostInstall.cpp
+
+David 13 Nov 2011
+ - client/scheduler:
+ If the file "client_opaque.txt" exists on the client,
+ include its contents in scheduler request messages.
+ On the scheduler, parse this into SCHEDULER_REQUEST::client_opaque,
+ where it can be used by the customizable scheduler functions.
+
+ sched/
+ sched_types.cpp,h
+ client/
+ file_names.h
+ cs_scheduler.cpp
+
+Charlie 14 Nov 2011
+ - Mgr: Don't call Simple View specific periodic RPCs when BOINC is
+ hidden or minimized.
+
+ clientgui/
+ MainDocument.cpp
+
+David 14 Nov 2011
+ - client: show error messages (as notices) when get an error
+ parsing cc_config.xml
+ - client: if an element in cc_config.xml
+ specifies a nonexistent app, show an error msg with
+ a list of existing app names
+ - web: increase the default mem limit from 64MB to 256MB
+ TODO: change user_hosts.php to show N at a time
+
+ html/inc/
+ util.inc
+ lib/
+ cc_config.cpp,h
+ client/
+ log_flags.cpp
+
+David 14 Nov 2011
+ - client: improve messages for the above
+
+ client/
+ log_flags.cpp
+
+David 14 Nov 2011
+ - scheduler: increase buffer for global prefs from 8K to 64K
+ - lay the groundwork for changing it to std::string
+
+ sched/
+ sched_types.cpp
+ lib/
+ parse.cpp,h
+
+Charlie 14 Nov 2011
+ - Mgr: In CSimpleTaskPanel, change name of Update() to UpdatePanel()
+ to fix compiler warning about overloading wxWindow::Update().
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_TaskPanel.cpp,.h
+
+Charlie 14 Nov 2011
+ - MGR: Limit change of 9 November to only Debug builds: accept and
+ ignore command line argument "-NSDocumentRevisionsDebugMode=YES"
+
+ clientgui/
+ BOINCGUIApp.cpp
+
+David 14 Nov 2011
+ - client: add some missing items to CONFIG::parse_options_client().
+
+ client/
+ log_flags.cpp
+ pers_file_xfer.cpp
+
+Charlie 16 Nov 2011
+ - MGR: use wxBitmapComboBox insert() and append() calls without
+ client data argument instead of passing NULL.
+
+ clientgui/
+ BOINCBitmapComboBox.cpp
+
+David 16 Nov 2011
+ - web: in GPU model list page,
+ look for plan classes containing "nvidia" as well as "cuda".
+
+ db/
+ boinc_db.h
+ sched/
+ transitioner.cpp
+ sched_assign.cpp
+ html/user/
+ gpu_ratios.php (new)
+ gpu_list.php
+ client/
+ net_stats.h
+
+David 16 Nov 2011
+ - fix gpu_ratios.php
+
+ html/user/
+ gpu_ratios.php
+
+Charlie 17 Nov 2011
+ Remove include of boinc_cl.h from parse.h; it is no longer needed.
+ Remove Mac Availability Macro and weak-link support from cl_boin.ch
+ as it prevented building BOINC libraries under OS 10.5.
+
+ lib/
+ cl_boinc.h
+ parse.h
+
+David 18 Nov 2011
+ - storage simulator work
+
+ lib/
+ unix_util.cpp
+ ssim/
+ des.h
+ ssim.cpp
+
+Charlie 19 Nov 2011
+ - MGR: Fix button font sizes in Simple View Projects panel.
+
+ clientgui/
+ sg_ProjectPanel.cpp
+
+David 20 Nov 2011
+ - client: on network_available() GUI RPC,
+ clear project-level upload and download backoffs,
+ as well as RPC and individual xfer backoffs.
+ This was an oversight.
+
+ client/
+ client_types.h
+ net_stats.cpp
+ ssim/
+ ssim.cpp
+ makefile
+
+David 20 Nov 2011
+ - web: add [sup] BBCode tag for superscripts.
+ - web: show BBCode info in the same page, rather than target=new.
+ On Firefox, this opens a new tab but doesn't switch to it,
+ which makes it look like nothing happened.
+
+ html/
+ inc/
+ text_transform.inc
+ util.inc
+ user/
+ bbcode.php
+
+Charlie 20 Nov 2011
+ - MGR: Hide slideshow subpanel if no slides for current task.
+
+ clientgui/
+ sg_TaskPanel.cpp
+
+Charlie 21 Nov 2011
+ - MGR: In Simple View, draw Mac progress bar on white background for
+ better visibility; adjust red New Notices ring for new button
+ shapes if on Mac OS 10.7.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp,.h
+ sg_PanelBase.cpp
+ sg_TaskPanel.cpp
+
+Rom 21 Nov 2011
+ - MGR: const fixes for platform bitmaps.
+ (From: Steffen Möller)
+ - MGR: Add trace statements to help track down RemoveAt bug
+ - MGR: Remove static var guard, may not be needed with the SetDlgOpen()
+ routines blocking timer based updates. If there is a buffer overrun
+ hopefully it'll manifest itself in a detectable way.
+
+ clientgui/res/
+ linuxicon.xpm
+ macosicon.xpm
+ windowsicon.xpm
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+ sg_TaskPanel.cpp
+
+Rom 21 Nov 2011
+ - MGR: Prevent crash, check returned pointer of menu entry.
+
+ clientgui/
+ sg_BoincSimpleFrame.cpp
+
+Rom 21 Nov 2011
+ - MGR: Fix bad asserts.
+
+ clientgui/
+ BOINCBitmapComboBox.cpp
+
+Charlie 21 Nov 2011
+ - MGR: Fix bad transparency in default project icon.
+
+ clientgui/res/skins/default/graphic/
+ project_image.xpm
+
+Charlie 21 Nov 2011
+ - MGR: The asserts were correct; fix minor errors in calling code.
+
+ clientgui/
+ BOINCBitmapComboBox.cpp
+ sg_ProjectPanel.cpp
+ sg_TaskPanel.cpp
+
+David 21 Nov 2011
+ - client emulator fixes
+
+ client/
+ work_fetch.h
+ sim.cpp
+
+Charlie 23 Nov 2011
+ - MGR: In Simple View, if deleting a task above the current selection,
+ decrement the index of the current selection.
+ - MGR: In Simple View, reload slide show when task selection changed.
+
+ clientgui/
+ sg_TaskPanel.cpp,.h
+
+Charlie 23 Nov 2011
+ - MGR: In Simple View, sort Project Selection Control; make sorting of
+ Project and Task Selection controls case-insensitive, fix bugs in
+ MacBitmapComboBox.cpp.
+
+ clientgui/
+ mac/
+ MacBitmapComboBox.cpp
+ MacBitmapComboBox.cpp
+ sg_ProjectPanel.cpp
+ sg_TaskPanel.cpp
+
+David 24 Nov 2011
+ - GUI RPC client lib: change setsockopt() for receive timeout
+ to work on Windows. From Fred.
+
+ lib/
+ gui_rpc_client.cpp
+ ssim/
+ ssim.cpp
+ des.h
+
+David 24 Nov 2011
+ - default screensaver: fix divide-by-zero; code cleanup
+
+ clientsrc/
+ ss_app.cpp
+
+David 25 Nov 2011
+ - client: fix errors in transferring RAM info between CAL and OpenCL.
+ (bytes vs MB units, local/global terminology issue).
+ From Oliver Bock>
+
+ client/
+ coproc_detect.cpp
+
+Charlie 26 Nov 2011
+ - default screensaver: fix build breaks caused by code cleanup above.
+
+ clientsrc/
+ ss_app.cpp
+
+David 26 Nov 2011
+ - storage simulator work
+
+ ssim/
+ ssim.cpp
+
+Charlie 28 Nov 2011
+ - MGR: In Simple View, if task has no slide show, then display the
+ institution, science area and description.
+ This is in progress: not yet finished.
+
+ clientgui/
+ Events.h
+ sg_PanelBase.cpp,.h
+ sg_TaskPanel.cpp,.h
+
+David 28 Nov 2011
+ - scheduler: fix crashing bug (don't memset SCHED_REQUEST).
+
+ sched/
+ sched_result.cpp
+ handle_request.cpp
+ sched_types.cpp
+ ssim/
+ ssim.cpp
+
+Charlie 29 Nov 2011
+ - MGR: Continue work on Simple View to display the description if
+ task has no slide show.
+ Change all occurrences of "n" to "^n"
+
+ clientgui/
+ sg_TaskPanel.cpp,.h
+
+David 29 Nov 2011
+ - wrapper: measure CPU time of app's process tree,
+ not just the top-level process
+ - wrapper: handle fraction-done files correctly
+
+ lib/
+ procinfo.cpp,h
+ samples/wrapper/
+ wrapper.cpp
+
+Charlie 30 Nov 2011
+ - MGR: Complete work on Simple View to display the description if
+ task has no slide show.
+
+ clientgui/
+ sg_TaskPanel.cpp,.h
+
+Charlie 30 Nov 2011
+ - MGR: Better sizing of Simple View description text box.
+
+ clientgui/
+ sg_TaskPanel.cpp,.h
+
+David 1 Dec 2011
+ - API and client: add "ncpus" field to APP_INIT_DATA.
+ Tells multicore apps how many cores to use.
+ The --nthreads command line arg to the app is now deprecated
+ though we'll keep it around for the time being.
+
+ sched/
+ sched_util.cpp,h
+ sched_customize.cpp,h
+ credit.cpp
+ html/user/
+ show_user.php
+ lib/
+ app_ipc.cpp,h
+ client/
+ app_start.cpp
+
+Charlie 2 Dec 2011
+ - Mac installer: revert to using a wrapper application around installer
+ package to require a system restart if creating users and groups.
+
+ mac_build/
+ boinc.xcodeproj/
+ project.pbxproj
+ mac_installer/
+ Installer.cpp
+ PostInstall.cpp
+ release_boinc.sh
+
+Charlie 2 Dec 2011
+ - Mac installer: for files in projects and slots directories, if the
+ executable-by-owner permission is set, ensure that the
+ executable-by-group bit is also set.
+
+ clientgui/
+ mac/
+ SetupSecurity.cpp
+
+David 2 Dec 2011
+ - scheduler: in app_plan(), check for "opencl" before "ati".
+ Otherwise "opencl_ati" won't get handled right.
+ Fixes #1158
+
+ sched/
+ sched_customize.cpp
+
+David 4 Dec 2011
+ - client: isdigit() asserts if its arg is negative (which it can be).
+ Call isascii() first.
+ - GUI RPC lib: add some consts
+
+ client/
+ cs_notice.cpp
+
+Rom 5 Dec 2011
+ - Bump the version number to the next developmental release cycle
+ 7.1.x
+
+ /
+ configure.ac
+ version.h
+
+Rom 5 Dec 2011
+ - MGR: Increase the opacity of the panels to make the black text more
+ readable.
+
+ clientgui/skins/Default/
+ skin.xml
+
+David 5 Dec 2011
+ - client: when contacting a project for reasons other than
+ work fetch (e.g. to report completed jobs)
+ only request work if it's the project we would have chosen
+ if we were fetching work.
+ - client: the way in which project priorities were adjusted
+ in work fetch to reflected currently queued work was wrong.
+ - client: fix bug in the way project priorities are adjusted
+ in RR simulator
+ - client emulator: if there are results in the state file
+ with states DOWNLOADING or UPLOADING,
+ change them to DOWNLOADED or UPLOADED.
+ Otherwise they're stuck.
+
+ client/
+ work_fetch.cpp,h
+ sim.cpp
+ rr_sim.cpp
+ cs_scheduler.cpp
+ cpu_sched.cpp
+ ssim/
+ des.h
+ ssim.cpp
+
+David 6 Dec 2011
+ - client: compile fix; remove redundant total_peak_flops()
+
+ client/
+ work_fetch.cpp,h
+ cpu_sched.cpp
+
+Charlie 6 Dec 2011
+ - MGR: eliminate "ghost" Notices window in Simple View when running
+ on Windows OS.
+ - MGR: don't show "indeterminate" progress bar in Simple View.
+
+ clientgui/
+ sg_DlgMessages.cpp
+
+Charlie 6 Dec 2011
+ - MGR: don't show "indeterminate" progress bar in Simple View.
+
+ clientgui/
+ Events.h
+ sg_PanelBase.cpp,.h
+ sg_TaskPanel.cpp,.h
+
+David 6 Dec 2011
+ - client: if a file download was in progress at the time of
+ an upgrade from 6.12 to 6.13+,
+ it could get erroneously marked as an upload and get stuck forever.
+ Problem: uninitialized member.
+
+ client/
+ pers_file_xfer.cpp
+
+Rom 6 Dec 2011
+ - MGR: Scale the task pane in the advanced view to encompass the largest button.
+
+ clientgui/
+ BOINCBaseView.cpp, .h
+ BOINCTaskCtrl.cpp
+ stdwx.h
+ ViewNotices.cpp
+ ViewResources.cpp
+ ViewStatistics.cpp
+
+David 6 Dec 2011
+ - scheduler: encode CAL version numbers in a way that handles
+ release #s > 1000
+
+ sched/
+ sched_customize.cpp
+ lib/
+ coproc.cpp,h
+
+Charlie 7 Dec 2011
+ - Mac installer: eliminate use of WaitPermissions.app.
+ - Mac installer: revert branded build scripts for wrapper application
+ around installer package.
+
+ mac_installer/
+ make_CharityEngine.sh
+ make_GridRepublic.sh
+ make_ProgThruProc.sh
+ PostInstall.cpp
+ release_boinc.sh
+
+Rom 9 Dec 2011
+ - VBOX: Remove unused function,
+ I don't remember what I was going to use that hook for.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
+
+Rom 9 Dec 2011
+ - VBOX: Remove the guru meditation state,
+ apparently that is when the vbox host process for the vm crashes.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 9 Dec 2011
+ - VBOX: Add the ability for the wrapper to know if vboxmanage has hung
+ or is stuck in a loop.
+ If so, terminate the process and return an error.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 9 Dec 2011
+ - MGR: Update Progress Through Processor's skin files.
+
+ clientgui/res/
+ progress.ico
+ clientgui/skins/Progress Thru Processors/graphic
+
+ clientgui/skins/Progress Thru Processors/
+ skin.xml
+ win_build/installerv2/redist/Progress/
+ ptp_IsDialogBanner.bmp
+ ptp_IsDialogBitmap.bmp
+ ptp_splash.bmp
+ ptp_Wizard.bmp
+
+David 10 Dec 2011
+ - bug fixes in remote job submission tools
+ (manage_privileges and get_output.php).
+ From Nico Schlitter.
+ - change things so that
+ make_project --test_app
+ will produce input/output templates that are compatible
+ with the remote job submission tools
+
+ tools/
+ example_app_in,out (removed .xml from name)
+ manage_privileges
+ make_project
+ html/user/
+ get_output.php
+ ssim/
+ ssim.cpp
+
+David 12 Dec 2011
+ - client: tweak parameters of file xfer backoff to
+ reduce backoff intervals somewhat
+ - vboxwrapper: fix buffer size typo (from Attila)
+ - scheduler: fix crash if using homogeneous app version,
+ and a WU is committed to an old or deprecated app version.
+ From Kevin Reed.
+
+ sched/
+ sched_version.cpp
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+ ssim/
+ ssim.cpp
+ client/
+ pers_file_xfer.h
+
+David 12 Dec 2011
+ - scheduler: if using homogeneous app version,
+ and a WU is committed to an app version that's been superceded,
+ treat it as committed to the later version.
+
+ sched/
+ sched_shmem.cpp,h
+ sched_version.cpp
+
+Rom 12 Dec 2011
+ - MGR: Add IE8-10 support for browser cookies when UAC is enabled. Use the
+ supported API. It appears MS changed the cookie file format in their
+ latest browsers which broke our hack. I have to leave the hack in
+ for now because IE7 on Vista didn't expose the IEGetProtectedModeCookie
+ API.
+ - WINSETUP: Start BOINCMgr as a restricted process on Windows Vista+.
+
+ clientgui/
+ browser.cpp
+ win_build/installerv2/redist/Windows/src/boinccas/
+ boinccas.vcproj
+ CALaunchBOINCManager.cpp, .h
+ win_build/installerv2/redist/Windows/Win32/
+ boinccas.dll
+ boinccas95.dll
+ win_build/installerv2/redist/Windows/x64/
+ boinccas.dll
+ boinccas95.dll
+
+Charlie 12 Dec 2011
+ - MGR: If CSkinIcon PNG file has an alpha channel, use it as mask and
+ ignore any tag.
+
+ clientgui/
+ SkinManager.cpp
+
+David 13 Dec 2011
+ - storage simulator: use a top-down approach to recovery policy.
+ As of right now, it seems to work.
+ Need to add statistics for network load and fault-tolerance level.
+
+ ssim/
+ ssim.cpp
+
+Charlie 14 Dec 2011
+ - MGR: Check in remaining Progress Through Processors artwork for Macintosh.
+ - MGR: Fix Progress Through Processors skin file problems for Macintosh:
+ - If a PNG icon file has an alpha channel, the skin must not have a
+ entry for it, or the alpha channel will be
+ ignored.
+ - The (play), and
+ must all be the same size.
+
+ clientgui/mac/
+ ProgThruProc.tiff
+ clientgui/res/
+ ProgThruProc.icns
+ PTP_install.icns
+ PTP_uninstall.icns
+ clientgui/skins/Progress Thru Processors/
+ skin.xml
+ clientgui/skins/Progress Thru Processors/graphic
+ ptp_play.png
+ ptp_icon_play.png
+ clientscr/res/
+ ProgThruProc_ss_logo.png
+
+Charlie 14 Dec 2011
+ - Mac installer: update build scripts for naming consistency with other platforms.
+
+ mac_installer/
+ make_CharityEngine.sh
+ make_ProgThruProc.sh
+
+Charlie 16 Dec 2011
+ - MGR: in Simple View, localize institution, science area and description.
+
+ clientgui/
+ BOINCGUIApp.cpp
+ sg_TaskPanel.cpp
+
+David 16 Dec 2011
+ - web: clean up the logic for when to allow 2 hosts to be merged
+
+ html/inc/
+ host.inc
+
+David 16 Dec 2011
+ - storage simulator: add stats for network load and fault tolerance.
+ - client: msg tweak
+ - client: minimum work buffer lower bound is 180 sec
+ - scheduler: in computing HOST_USAGE::project_flops for a job,
+ if we don't have sufficient elapsed_time statistics
+ for either the (host, app_version) or the app_version,
+ use a conservative estimate (p_fpops*(#cpus+#ngpus))
+ rather than the number returned by app_plan().
+ This avoids "time limit exceeded" errors when the latter is way off.
+
+ ssim/
+ ssim.cpp
+ des.h
+ client/
+ scheduler_op.cpp
+ client_state.h
+ sched/
+ sched_version.cpp
+ lib/
+ prefs.cpp
+
+David 16 Dec 2011
+ - client: if we're trying to upload a file and it's missing,
+ that's a permanent error
+
+ client/
+ pers_file_xfer.cpp
+ file_xfer.cpp
+
+Rom 17 Dec 2011
+ - VBOX: Attempt to detect the condition where a Virtual HD image has already been
+ registered with VirtualBox during the RegisterVM phase. If we detect the
+ already exists error message run the unsupported internal command to reset
+ the HD UUID which then allows us to attach the HD to the VM. This should allow
+ us to run multiple jobs with the same base VM HD image.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+David 17 Dec 2011
+ - scheduler: if using homogeneous app version and a WU is committed
+ to a superceded or deprecated app version, use it anyway.
+ The current app version may not validate against the old one.
+
+ sched/
+ sched_types.h
+ sched_version.cpp
+
+David 19 Dec 2011
+ - vboxwrapper: if shared dir is specified and it doesn't exist on startup,
+ that's not necessarily an error.
+ Try to create it.
+ If it exists and is a file, show appropriate error message.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+Rom 19 Dec 2011
+ - VBOX: Use the same mechanism as the multi-threaded apps to determine desired CPU
+ count for the VM. VM(s) can now be multi-core.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+ vbox.cpp, .h
+
+Rom 19 Dec 2011
+ - WINSETUP: Copy the explorer primary token to get processes launched by the setup
+ process to launch with reduced permissions.
+
+ win_build/installerv2/redist/Windows/src/boinccas/
+ boinccas.vcproj
+ CALaunchBOINCManager.cpp
+ launcher.cpp, .h
+ win_build/installerv2/redist/Windows/Win32/
+ boinccas.dll
+ boinccas95.dll
+ win_build/installerv2/redist/Windows/x64/
+ boinccas.dll
+ boinccas95.dll
+
+Rom 19 Dec 2011
+ - MGR: Partial fix for wizard problem when a client automatically attempts to attach
+ to an account manager via cookies. This fix is good enough for the 6.8 client.
+ We'll need to do a little more for 7.x and beyond.
+
+ clientgui/
+ WizardAttach.cpp
+
+Charlie 20 Dec 2011
+ - MGR: Continue partial fix for wizard problem when a client automatically attempts
+ to attach to an account manager via cookies. We'll still need to do a little
+ more for 7.x and beyond.
+
+ clientgui/
+ AccountmanagerPropertiesPage.cpp
+ WizardAttachProject.cpp
+
+Rom 20 Dec 2011
+ - VBOX: Implement CERN's FloppyIO IPC technology for the VirtualBox wrapper.
+
+ samples/vboxwrapper/
+ floppyio.cpp, .h
+ vbox.cpp, .h
+ vboxwrapper.cpp
+ win_build/
+ vboxwrapper.vcproj
+
+Rom 20 Dec 2011
+ - VBOX: Create a configuration item that specifies the maximum amount of
+ wall clock time a VM is allowed, if exceeded shutdown gracefully and tell
+ BOINC that the job is finished.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
+
+David 20 Dec 2011
+ - scheduler: if an app has only GPU versions,
+ scale their PFC by 0.1 in credit calculations.
+ This reflects the fact that GPU apps are typically less efficient
+ (relative to device peak FLOPS) than are CPU apps.
+ The actual values from SETI@home and Milkyway are 0.05 and 0.08.
+
+ sched/
+ credit.cpp
+
+Rom 20 Dec 2011
+ - VBOX: Implement a basic mechanism for port forwarding through to the VM.
+ Some more work will be required if there is ever a need for more than
+ one port. But this should work for now. This should successfully
+ handle running multiple instances of the same job, port information is
+ stored in a file called "vbox_firewall.txt" which is updated for each
+ execution of the wrapper.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
+ win_build/
+ vboxwrapper.vcproj
+
+Charlie 21 Dec 2011
+ - MGR: Display project descriptions in Attach Wizard using wxTextCtrl
+ instead of wxHtmlWindow to support screen readers for accessibility,
+ after converting all occurrences of "n" to "^n".
+ Show localized project descriptions in Attach Wizard.
+
+ clientgui/
+ ProjectInfoPage.cpp,.h
+
+Charlie 21 Dec 2011
+ - MGR: Fix horizontal sizing of text in Simple View project description.
+
+ clientgui/
+ sg_TaskPanel.cpp,.h
+
+Rom 21 Dec 2011
+ - VBOX: Create the FloppyIO image via the FloppyIO constructor before attempting
+ to link the VM to it.
+
+ samples/vboxwrapper/
+ floppyio.cpp
+ vbox.cpp
+
+David 21 Dec 2011
+ - web: combine ops and regular functions for displaying
+ various result attributes as strings
+
+ html/
+ ops/
+ db_action.php
+ inc/
+ result.inc
+ db_ops.inc
+
+Rom 21 Dec 2011
+ - VBOX: Don't log all vbm_popen errors, we expect certain commands to fail when we
+ are looking at the existing state of the host.
+ - VBOX: Reset the output buffer for every command execution.
+ - VBOX: Remove the teleporting and snapshotting states from the list of running
+ states.
+ - VBOX: Remove the '--type floppy' typo when mounting the floppy disk image.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+
+Rom 21 Dec 2011
+ - VBOX: If vm.run() fails, call vm.cleanup() to unregister the VM before exiting
+ vboxwrapper. Not doing so leaves the drive reference around and the VM in a
+ saved state. The next attempt to delete it from another instance of
+ vboxwrapper fails with a complaint about the old unnamed vm(all files have
+ been cleaned up by BOINC) being in an non-mutable state.
+
+ samples/vboxwrapper/
+ vbox.cpp
+ vboxwrapper.cpp
+
+Rom 21 Dec 2011
+ - VBOX: If vm.cleanup() can be called when a VM hasn't been fully initialized,
+ then all the deregister commands have to be optional. Go ahead and log errors
+ to stderr but continue to run through the various commands anyway.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 21 Dec 2011
+ - VBOX: If vm.run() fails, it turns out the VM is parked in some kind of saved
+ state, deregistering the VM would fail all commands because the VM was not
+ mutable. The first thing we should do when deregistering is discard
+ any saved state.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 21 Dec 2011
+ - VBOX: It turns out that once you set the firewall rules, you cannot reset the
+ rules for a VM until the VM is in a powered off state. I guess the VM will
+ just have to fail starting up if it cannot allocate the assigned port.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Charlie 21 Dec 2011
+ - VBOX: Update XCode project for OS 10.7 and XCode 4.2.1.
+
+ samples/vboxwrapper/
+ vboxwrapper.xcodeproj
+ project.pbxproj
+
+Rom 21 Dec 2011
+ - VBOX: Add missing code for progress complete and check-pointing.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+Rom 22 Dec 2011
+ - VBOX: Try a new approach to dealing with the Windows sandbox issue. Under Windows
+ VboxSVC.exe is normally launched by svchost.exe which only contains environment
+ variables defined by the system. In the BOINC sandbox environment we want to
+ add VBOX_USER_HOME to redirect reading/writing configuration files to a
+ different directory. What happens if we launch it ahead of making any calls to
+ VBoxManage which would cause the OS to launch it? If we launch it, it should
+ inherit our environment block and work just like it works on Linux and the Mac.
+
+ This is such a simple solution, why didn't I think of it sooner?
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+Rom 22 Dec 2011
+ - VBOX: Remove code that was meant to force the CC to reschedule jobs. There was
+ a bug that was fixed last night which prevented the wrapper from properly
+ reporting its checkpoint time to the CC. The lack of checkpoint information
+ for the job would have prevented the CC from rescheduling the job and removing
+ it from memory. Now it can so the extra shutdown each scheduling period
+ should not be needed.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+Rom 23 Dec 2011
+ - VBOX: Write the firewall rules once, after creation. If the job was suspended
+ and restarted it would null out the host port information.
+ - VBOX: Try to make the CERN compatible datatype for FloppyIO more JSON friendly
+ by following the advice of issue:
+ https://github.com/stig/json-framework/issues/48
+ - VBOX: Support both the old style and new style of determining assigned threads
+ of execution (aka core counts). 6.12 and the early versions of 7.x support
+ the old style.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp, .h
+
+Rom 23 Dec 2011
+ - VBOX: Append the slot number to the end of the floppy disk image name like we do
+ for virtual hard disks.
+ - VBOX: Execute closemedium against the virtual floppy disks when the VM is being
+ deleted.
+
+ samples/vboxwrapper/
+ vbox.cpp
+ vboxwrapper.cpp
+
+Rom 23 Dec 2011
+ - VBOX: handle the case where the volunteer has not installed BOINC in the sandboxed
+ environment and they suspend/resume the VM by the VirtualBox application.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp
+
+Rom 23 Dec 2011
+ - VBOX: Rework the unique naming scheme for floppys and disk images so that the slot
+ id is appended after the name instead of after the extension. Avoid problems
+ with the VirtualBox interface.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp, .h
+
+Charlie 23 Dec 2011
+ - VBOX: Fix "unused variable" warning.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+Rom 23 Dec 2011
+ - Web: Don't display VirtualBox version number information in the coproc field while
+ displaying host information.
+
+ html/inc/
+ host.inc
+
+David 23 Dec 2011
+ - make_project: don't try to copy nonexistent file; fixes #1166
+ - scheduler: change Vbox app plan function to accommodate
+ single and multithreaded variants
+
+ py/Boinc/
+ setup_project.py
+ sched/
+ sched_customize.cpp
+
+David 23 Dec 2011
+ - web: show actual URL and weak auth on weak auth page
+ - web: make merge and pending pages translatable
+ From Uwe Becker
+
+ html/user/
+ weak_auth.php
+ merge_by_name.php
+ pending.php
+
+David 23 Dec 2011
+ - web: more translatability. From Uwe Becker.
+
+ html/
+ inc/
+ pm.inc
+ forum.inc
+ bbcode_html.inc
+ user/
+ pm.php
+ moderation.php
+
+Rom 24 Dec 2011
+ - VBOX: Remove attempts to remove the floppy image from the media registry.
+ Apparently when the VM is removed from the VirtualBox server process
+ it automatically deletes the floppy image from the media registry.
+ - VBOX: If a VM crashes for one reason or another, append the VM execution
+ log file to the stderr.txt file. I believe this is what is going on with
+ Richard Mitnick's computer. At the very least we should be able to give
+ this to the VirtualBox guys.
+ - VBOX: Introduce a way to re-execute commands when a session lock
+ event is detected. A session lock event happens when a volunteer is
+ tweaking something about the VM while vboxwrapper is attempting to query
+ state information.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+ vboxwrapper.cpp, .h
+
+Rom 25 Dec 2011
+ - VBOX: If an error occurs only log the error once if log_error is true.
+
+ samples/vboxwrapper/
+ vbox.cpp, .h
+
+David 25 Dec 2011
+ - vboxwrapper: for port-forwarding feature,
+ allow specification of guest port only.
+ Change tag to .
+ Separate getting port from registering firewall rule
+
+ samples/vboxwrapper/
+ vbox.cpp,h
+ vboxwrapper.cpp
+
+Rom 25 Dec 2011
+ - VBOX: Extract and dump the VM log before attempting to delete the VM.
+ What was I thinking last night?
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+Rom 25 Dec 2011
+ - VBOX: Richard Mitnick's VM didn't crash according to the latest build.
+ So what state did it enter?
+
+ samples/vboxwrapper/
+ vbox.cpp,.h
+
+Rom 25 Dec 2011
+ - VBOX: For projects that use vboxwrapper to control how long a VM should run,
+ treat premature shutdown events as failures. Avoids false positive results.
+ - VBOX: Log the VM Execution log if a premature shutdown event has happened.
+ - VBOX: Rename config option max_elapsed_time to job_duration. Choosing
+ max_elapsed_time turned out to be a bad choice in that its purpose
+ became intermixed with the credit issue(s).
+
+ samples/vboxwrapper/
+ vbox.cpp,.h
+ vboxwrapper.cpp
+
+Rom 25 Dec 2011
+ - VBOX: Disable hardware virtualization acceleration support by default. There
+ is a ceratin class of machines where the processor supports hardware
+ acceleration but it is disabled in the computers BIOS. Asking the volunteer
+ to tweak settings in the computers BIOS isn't a good idea. We might be able
+ to turn it on as an advanced preference thing in the future.
+
+ samples/vboxwrapper/
+ vbox.cpp
+ vboxwrapper.cpp
+
+David 26 Dec 2011
+ - API/client/manager:
+ allow applications to supply a "web graphics URL",
+ in which case the manager's "Show Graphics" button
+ opens a browser at that URL.
+ This typically would used for applications that
+ implement a web server that serves pages showing
+ job information in HTML.
+ - vboxwrapper: if is specified in the config file,
+ set up port forwarding to that port
+ and use the above API call with URL "http://localhost:port"
+
+ samples/
+ vboxwrapper/
+ vbox.cpp
+ vboxwrapper.cpp
+ api/
+ boinc_api.cpp,h
+
+David 26 Dec 2011
+ - add support for APP::needs_network flag.
+ If set, don't run jobs for that app while network is suspended.
+ - client: parse this flag and maintain in state file;
+ do a job reschedule when network suspend state changes
+ - GUI RPC: add RESULT::network_wait flag;
+ if set, this job is waiting for network access to be allowed
+ - Manager: display the above in task info
+ - add support for "web graphics URL" (see above)
+ - client: parse message containing URL on graphics_reply channel
+ and store in ACTIVE_TASK::web_graphics_url
+ - GUI RPC: add RESULT::web_graphics_url
+ - Manager: if web graphics URL is present, Show Graphics opens a browser
+ - remove some vestigial code for pre-V6 graphics
+
+ client/
+ app.cpp,h
+ app_control.cpp
+ client_state.cpp
+ client_types.cpp,h
+ work_fetch.cpp
+ clientgui;
+ MainDocument.cpp
+ sg_TaskCommandPopup.cpp
+ ViewWork.cpp
+ lib/
+ gui_rpc_client.h
+ gui_rpc_client_ops.cpp
+
+David 26 Dec 2011
+ - make "needs network" a property of APP_VERSION rather than APP
+
+ client/
+ client_types.cpp,h
+ work_fetch.cpp
+ app_control.cpp
+
+David 26 Dec 2011
+ - update_versions: support flag in version.xml
+
+ tools/
+ update_versions
+ samples/vboxwrapper/
+ vboxwrapper.h
+
+David 26 Dec 2011
+ - scheduler: in vbox plan class, require that host have
+ VM acceleration hardware feature
+ - remote job submission: typo fix
+
+ sched/
+ sched_customize.cpp
+ html/user/
+ submit.php
+
+Rom 26 Dec 2011
+ - scheduler: in vbox plan class, require that host have
+ VM acceleration hardware feature if the job is multi-core.
+
+ sched/
+ sched_customize.cpp
+
+Rom 26 Dec 2011
+ - VBOX: If a host has been assigned a single-core job and the
+ processor doesn't support hardware acceleration for VMs,
+ manually turn off the hardware acceleration support in the VMs
+ configuration.
+
+ NOTE: The latest server scheduler should not be assigning
+ multi-core jobs to hosts that do not have hardware acceleration.
+
+ samples/vboxwrapper/
+ vbox.cpp
+
+David 26 Dec 2011
+ - scheduler: we were using CPU time for elapsed time
+ when the latter wasn't reported.
+ Do this BEFORE sanity checks on elapsed time
+ to prevent cheating.
+
+ sched/
+ sched_result.cpp
+
+Rom 26 Dec 2011
+ - VBOX: For hosts who do not have processors with VM extensions try
+ and disable the use of them at VM creation time. Certain actions
+ within VirtualBox will force enabling them at runtime and cause
+ an error (like SMP support) but it should reduce confusion between
+ volunteers and projects when a VM configuration change now causes
+ a class of machine that used to work suddenly stop working.
+ - VBOX: Add some more helpful text notes for error conditions that
+ the volunteer might be able to address. For instance other
+ hypervisors locking the VM CPU features for exclusive use.
+ - VBOX: If we have to dump out the VM execution log on Windows, remove
+ excess carriage returns from the spew.
+
+ samples/vboxwrapper/
+ vbox.cpp
+ vboxwrapper.cpp
+
+David 26 Dec 2011
+ - scheduler, vbox plan class function:
+ send only 32/64 bit version to 32/64 bit host
+
+ sched/
+ sched_customize.cpp
+
+Rom 27 Dec 2011
+ - SCR: Remove last linger pieces of v5 backward graphics compatibility
+ from the screensaver.
+
+ clientscr/
+ screensaver.cpp
+ screensaver_win.h
+
+David 28 Dec 2011
+ - client: detect Windows HyperV Server 2008 R2 (from Crashtest)
+
+ client/
+ hostinfo_win.cpp
+
+Rom 28 Dec 2011
+ - client: increase the buffer sizes for retrieving cpu features on *nix
+ type systems. the latest generation of processors blow past 256 bytes
+ and vmx and svm are truncated.
+
+ client/
+ hostinfo_unix.cpp
+
+David 28 Dec 2011
+ - client: shuffle disk usage code in preparation for disk accounting
+ - use new XML parser in some GUI RPC code
+
+ lib/
+ gui_rpc_client_ops.cpp
+ gui_rpc_client.h
+ client/
+ client_types.h
+ client_state.h
+ gui_rpc_server_ops.cpp
+ cs_prefs.cpp
+ cs_scheduler.cpp
+
+Rom 28 Dec 2011
+ - WINSETUP: Introduce new BOINC setup packages which include VirtualBox.
+
+ win_build/installerv2/
+ BOINC_vbox.ism
+ BOINCx64_vbox.ism
+
+David 29 Dec 2011
+ - scheduler: record Vbox version correctly in host records
+ - remote job submission: partial checkin for new file sandbox stuff
+
+ sched/
+ handle_request.cpp
+ html/
+ inc/
+ submit.inc
+ submit_util.inc
+ user/
+ submit_example.php
+ submit.php
+
+Rom 29 Dec 2011
+ - VBOX: Add ERR_CPU_VM_EXTENSIONS_DISABLED string to the error case where
+ the VM extensions for the CPU have been disabled via the BIOS. This
+ allows the core-client to parse the response and disable future
+ request for multi-core VM jobs.
+
+ samples/vboxwrapper/
+ vboxwrapper.cpp
+
+David 30 Dec 2011
+ - client: parse APP:non_cpu_intensive correctly.
+ This got broken somehow.
+ - client: don't crash if missing RSS feed file for some reason
+
+ client/
+ client_types.cpp
+ cs_notice.cpp
+
+David 30 Dec 2011
+ - client: for VBox apps, check stderr for "ERR_CPU_VM_EXTENSIONS_DISABLED".
+ If found, set HOST_INFO::p_vm_extensions_disabled,
+ and pass this to the scheduler.
+ - scheduler (VBox app plan function) if a host has p_vm_extensions_disabled
+ set, don't sent it multicore VBox jobs.
+
+ Note: if you have a host with VM extensions, and they're disabled
+ in the BIOS, and you enable them, you can remove the
+ line from client_state.xml
+ and you'll be eligible to get multicore VM jobs again.
+
+ client/
+ app_control.cpp
+ lib/
+ hostinfo.cpp,h
+ sched/
+ sched_types.cpp
+ sched_customize.cpp
+ db/
+ boinc_db.h
+
+Rom 30 Dec 2011
+ - client: the processor features buffer is supposed to be 1024 bytes. avoid
+ truncation.
+
+ lib/
+ hostinfo.cpp
+
+Rom 30 Dec 2011
+ - WINSETUP: Give 'boinc_admins' and 'boinc_projects' the ability to access and
+ launch the VirtualBox server-side application. This should complete the
+ needed work to run VirtualBox within the Windows sandboxed environment.
+ - WINSETUP: Remove the virtualized file system tag from the Windows Explorer
+ copied security token when launching BOINC Manager and BOINC Tray after
+ setup has completed. I believe this will resolve the new cookie issue
+ experienced by PTP/GR/CE.
+
+ win_build/installerv2/redist/Windows/src/boinccas/
+ aclmgmt.cpp
+ boinccas.def
+ boinccas.vcproj
+ CAGrantBOINCAdminsVirtualBoxRights.cpp, .h
+ CAGrantBOINCProjectsVirtualBoxRights.cpp, .h
+ CALaunchBOINCTray.cpp, .h
+ dcomperm.h
+ launcher.cpp
+ listacl.cpp
+ sdmgmt.cpp
+ srvcmgmt.cpp
+ utils.cpp
+ wrappers.cpp
+ win_build/installerv2/redist/Windows/Win32/
+ boinccas.dll
+ boinccas95.dll
+ win_build/installerv2/redist/Windows/x64/
+ boinccas.dll
+ boinccas95.dll
+
+Rom 30 Dec 2011
+ - WINSETUP: Hookup new custom actions to the BOINC Installers
+
+ win_build/installerv2/
+ BOINC.ism
+ BOINCx64.ism
+
+David 31 Dec 2011
+ - web: implement file sandbox for remote job submission
+
+ html/
+ inc/
+ sandbox.inc (new)
+ user/
+ submit.php
+ sandbox.php (new)
+
+David 31 Dec 2011
+ - web: add script for submission of batches of LAMMPS jobs
+
+ html/user/
+ lammps.php
+
+David 31 Dec 2011
+ - web: new page to manage job submission
+
+ html/
+ inc/
+ submit.inc
+ submit_util.inc
+ user/
+ submit_rpc_handler.php
+ submit_example.php
diff -Nru boinc-7.0.7+dfsg/client/acct_setup.cpp boinc-7.0.14+dfsg/client/acct_setup.cpp
--- boinc-7.0.7+dfsg/client/acct_setup.cpp 2011-08-27 18:32:47.000000000 +0000
+++ boinc-7.0.14+dfsg/client/acct_setup.cpp 2012-01-26 08:39:51.000000000 +0000
@@ -48,28 +48,26 @@
}
int PROJECT_INIT::init() {
- char buf[256];
- MIOFILE mf;
- FILE* p;
-
clear();
- p = fopen(PROJECT_INIT_FILENAME, "r");
- if (p) {
- mf.init_file(p);
- while(mf.fgets(buf, sizeof(buf))) {
- if (match_tag(buf, "")) break;
- else if (parse_str(buf, "", name, 256)) continue;
- else if (parse_str(buf, "", team_name, 256)) continue;
- else if (parse_str(buf, "", url, 256)) {
- canonicalize_master_url(url);
- continue;
- } else if (parse_str(buf, "", account_key, 256)) {
- continue;
- }
+ FILE* f = fopen(PROJECT_INIT_FILENAME, "r");
+ if (!f) return 0;
+
+ MIOFILE mf;
+ mf.init_file(f);
+ XML_PARSER xp(&mf);
+ while (!xp.get_tag()) {
+ if (xp.match_tag("/project_init")) break;
+ else if (xp.parse_str("name", name, 256)) continue;
+ else if (xp.parse_str("team_name", team_name, 256)) continue;
+ else if (xp.parse_str("url", url, 256)) {
+ canonicalize_master_url(url);
+ continue;
+ } else if (xp.parse_str("account_key", account_key, 256)) {
+ continue;
}
- fclose(p);
- msg_printf(0, MSG_INFO, "Found project_init.xml for %s", url);
}
+ fclose(f);
+ msg_printf(0, MSG_INFO, "Found project_init.xml for %s", url);
return 0;
}
diff -Nru boinc-7.0.7+dfsg/client/app_control.cpp boinc-7.0.14+dfsg/client/app_control.cpp
--- boinc-7.0.7+dfsg/client/app_control.cpp 2011-12-30 17:36:11.000000000 +0000
+++ boinc-7.0.14+dfsg/client/app_control.cpp 2012-01-13 19:00:16.000000000 +0000
@@ -1205,7 +1205,14 @@
if (!app_client_shm.shm) return;
if (app_client_shm.shm->graphics_reply.get_msg(msg_buf)) {
+ if (log_flags.app_msg_receive) {
+ msg_printf(this->wup->project, MSG_INFO,
+ "[app_msg_receive] got msg from slot %d: %s", slot, msg_buf
+ );
+ }
+
parse_str(msg_buf, "", web_graphics_url, sizeof(web_graphics_url));
+ parse_str(msg_buf, "", remote_desktop_addr, sizeof(remote_desktop_addr));
}
}
diff -Nru boinc-7.0.7+dfsg/client/app.cpp boinc-7.0.14+dfsg/client/app.cpp
--- boinc-7.0.7+dfsg/client/app.cpp 2011-12-27 01:36:47.000000000 +0000
+++ boinc-7.0.14+dfsg/client/app.cpp 2012-01-13 19:00:16.000000000 +0000
@@ -121,6 +121,7 @@
overdue_checkpoint = false;
last_deadline_miss_time = 0;
strcpy(web_graphics_url, "");
+ strcpy(remote_desktop_addr, "");
}
// preempt this task;
@@ -593,6 +594,12 @@
web_graphics_url
);
}
+ if (strlen(remote_desktop_addr)) {
+ fout.printf(
+ " %s\n",
+ remote_desktop_addr
+ );
+ }
fout.printf("\n");
return 0;
}
diff -Nru boinc-7.0.7+dfsg/client/app.h boinc-7.0.14+dfsg/client/app.h
--- boinc-7.0.7+dfsg/client/app.h 2011-12-27 01:36:47.000000000 +0000
+++ boinc-7.0.14+dfsg/client/app.h 2012-01-13 19:00:16.000000000 +0000
@@ -151,6 +151,7 @@
// (e.g. VMs created by vboxwrapper)
// These are communicated via the app_status message channel
char web_graphics_url[256];
+ char remote_desktop_addr[256];
void set_task_state(int, const char*);
inline int task_state() {
diff -Nru boinc-7.0.7+dfsg/client/app_start.cpp boinc-7.0.14+dfsg/client/app_start.cpp
--- boinc-7.0.7+dfsg/client/app_start.cpp 2011-12-14 16:41:22.000000000 +0000
+++ boinc-7.0.14+dfsg/client/app_start.cpp 2012-01-20 13:30:47.000000000 +0000
@@ -251,9 +251,12 @@
k = 0;
}
aid.gpu_device_num = cp.device_nums[k];
+ aid.gpu_opencl_dev_index = cp.opencl_device_indexes[k];
} else {
strcpy(aid.gpu_type, "");
aid.gpu_device_num = -1;
+ aid.gpu_opencl_dev_index = -1;
+
}
aid.ncpus = app_version->avg_ncpus;
aid.checkpoint_period = gstate.global_prefs.disk_interval;
@@ -501,6 +504,9 @@
graphics_request_queue.init(result->name); // reset message queues
process_control_queue.init(result->name);
+ bytes_sent = 0;
+ bytes_received = 0;
+
if (!app_client_shm.shm) {
retval = get_shmem_seg_name();
if (retval) {
diff -Nru boinc-7.0.7+dfsg/client/check_security.cpp boinc-7.0.14+dfsg/client/check_security.cpp
--- boinc-7.0.7+dfsg/client/check_security.cpp 2011-03-24 09:32:02.000000000 +0000
+++ boinc-7.0.14+dfsg/client/check_security.cpp 2012-01-24 02:54:21.000000000 +0000
@@ -39,7 +39,10 @@
bool IsUserInGroupBM();
#endif
-static int CheckNestedDirectories(char * basepath, int depth, int use_sandbox, int isManager);
+static int CheckNestedDirectories(char * basepath, int depth,
+ int use_sandbox, int isManager,
+ char * path_to_error
+ );
#if (! defined(__WXMAC__) && ! defined(_MAC_INSTALLER))
static char * PersistentFGets(char *buf, size_t buflen, FILE *f);
@@ -66,7 +69,7 @@
#ifdef _MAC_INSTALLER
char *bundlePath, char *dataPath,
#endif
-int use_sandbox, int isManager
+int use_sandbox, int isManager, char* path_to_error
) {
passwd *pw;
group *grp;
@@ -358,7 +361,7 @@
return -1026;
// Step through project directories
- retval = CheckNestedDirectories(full_path, 1, use_sandbox, isManager);
+ retval = CheckNestedDirectories(full_path, 1, use_sandbox, isManager, path_to_error);
if (retval)
return retval;
}
@@ -380,7 +383,7 @@
return -1029;
// Step through slot directories
- retval = CheckNestedDirectories(full_path, 1, use_sandbox, isManager);
+ retval = CheckNestedDirectories(full_path, 1, use_sandbox, isManager, path_to_error);
if (retval)
return retval;
}
@@ -497,7 +500,10 @@
}
-static int CheckNestedDirectories(char * basepath, int depth, int use_sandbox, int isManager) {
+static int CheckNestedDirectories(char * basepath, int depth,
+ int use_sandbox, int isManager,
+ char * path_to_error
+ ) {
int isDirectory;
char full_path[MAXPATHLEN];
struct stat sbuf;
@@ -508,9 +514,9 @@
dirp = opendir(basepath);
if (dirp == NULL) // Should never happen
- return -1200;
+ retval = -1200;
- while (true) {
+ while (dirp) { // Skip this if dirp == NULL, else loop until break
dp = readdir(dirp);
if (dp == NULL)
break; // End of list
@@ -583,7 +589,7 @@
if ((! isManager) && (sbuf.st_uid != boinc_master_uid))
continue; // Client can't check subdirectories owned by boinc_project
}
- retval = CheckNestedDirectories(full_path, depth + 1, use_sandbox, isManager);
+ retval = CheckNestedDirectories(full_path, depth + 1, use_sandbox, isManager, path_to_error);
if (retval)
break;
}
@@ -594,6 +600,7 @@
if (retval && !errShown) {
fprintf(stderr, "Permissions error %d at %s\n", retval, full_path);
+ if (path_to_error) strcpy(path_to_error, full_path);
errShown = 1;
}
return retval;
diff -Nru boinc-7.0.7+dfsg/client/client_state.cpp boinc-7.0.14+dfsg/client/client_state.cpp
--- boinc-7.0.7+dfsg/client/client_state.cpp 2011-12-27 01:36:47.000000000 +0000
+++ boinc-7.0.14+dfsg/client/client_state.cpp 2012-01-20 13:28:00.000000000 +0000
@@ -408,7 +408,7 @@
for (int j=1; jgzipped_urls;
while (!xp.get_tag()) {
if (xp.match_tag("/file_info") || xp.match_tag("/file")) {
if (!strlen(name)) return ERR_BAD_FILENAME;
if (strstr(name, "..")) return ERR_BAD_FILENAME;
if (strstr(name, "%")) return ERR_BAD_FILENAME;
+ if (gzipped_urls.size() > 0) {
+ download_urls.clear();
+ download_urls.urls = gzipped_urls;
+ download_gzipped = true;
+ }
return 0;
}
if (xp.match_tag("xml_signature")) {
@@ -979,14 +988,20 @@
upload_urls.urls.push_back(url);
continue;
}
+ if (xp.parse_string("gzipped_url", url)) {
+ gzipped_urls.push_back(url);
+ continue;
+ }
if (xp.parse_str("md5_cksum", md5_cksum, sizeof(md5_cksum))) continue;
if (xp.parse_double("nbytes", nbytes)) continue;
+ if (xp.parse_double("gzipped_nbytes", gzipped_nbytes)) continue;
if (xp.parse_double("max_nbytes", max_nbytes)) continue;
if (xp.parse_int("status", status)) continue;
if (xp.parse_bool("executable", executable)) continue;
if (xp.parse_bool("uploaded", uploaded)) continue;
if (xp.parse_bool("sticky", sticky)) continue;
if (xp.parse_bool("gzip_when_done", gzip_when_done)) continue;
+ if (xp.parse_bool("download_gzipped", download_gzipped)) continue;
if (xp.parse_bool("signature_required", signature_required)) continue;
if (xp.parse_bool("is_project_file", is_project_file)) continue;
if (xp.parse_bool("no_delete", btemp)) continue;
@@ -1061,6 +1076,10 @@
if (uploaded) out.printf(" \n");
if (sticky) out.printf(" \n");
if (gzip_when_done) out.printf(" \n");
+ if (download_gzipped) {
+ out.printf(" \n");
+ out.printf(" %.0f\n", gzipped_nbytes);
+ }
if (signature_required) out.printf(" \n");
if (is_user_file) out.printf(" \n");
if (strlen(file_signature)) out.printf(" \n%s\n\n", file_signature);
@@ -1111,7 +1130,7 @@
project->master_url,
project->project_name,
name,
- nbytes,
+ download_gzipped?gzipped_nbytes:nbytes,
max_nbytes,
status
);
@@ -1135,6 +1154,15 @@
get_pathname(this, path, sizeof(path));
int retval = delete_project_owned_file(path, true);
+
+ // files with download_gzipped set may exist
+ // in temporary or compressed form
+ //
+ strcat(path, ".gz");
+ delete_project_owned_file(path, true);
+ strcat(path, "t");
+ delete_project_owned_file(path, true);
+
if (retval && status != FILE_NOT_PRESENT) {
msg_printf(project, MSG_INTERNAL_ERROR, "Couldn't delete file %s", path);
}
@@ -1198,6 +1226,7 @@
download_urls.replace(new_info.download_urls);
upload_urls.replace(new_info.upload_urls);
+ download_gzipped = new_info.download_gzipped;
// replace signatures
//
@@ -1270,6 +1299,51 @@
return 0;
}
+// unzip a file.
+// If md5_buf is not NULL, compute the uncompressed MD5 at the same time
+//
+int FILE_INFO::gunzip(char* md5_buf) {
+ unsigned char buf[BUFSIZE];
+ char inpath[256], outpath[256];
+ md5_state_t md5_state;
+
+ if (md5_buf) {
+ md5_init(&md5_state);
+ }
+ get_pathname(this, outpath, sizeof(outpath));
+ strcpy(inpath, outpath);
+ strcat(inpath, ".gz");
+ FILE* out = boinc_fopen(outpath, "wb");
+ if (!out) return ERR_FOPEN;
+ gzFile in = gzopen(inpath, "rb");
+ while (1) {
+ int n = gzread(in, buf, BUFSIZE);
+ if (n <= 0) break;
+ int m = (int)fwrite(buf, 1, n, out);
+ if (m != n) {
+ gzclose(in);
+ fclose(out);
+ return ERR_WRITE;
+ }
+ if (md5_buf) {
+ md5_append(&md5_state, buf, n);
+ }
+ }
+ if (md5_buf) {
+ unsigned char binout[16];
+ md5_finish(&md5_state, binout);
+ for (int i=0; i<16; i++) {
+ sprintf(md5_buf+2*i, "%02x", binout[i]);
+ }
+ md5_buf[32] = 0;
+ }
+
+ gzclose(in);
+ fclose(out);
+ delete_project_owned_file(inpath, true);
+ return 0;
+}
+
int APP_VERSION::parse(XML_PARSER& xp) {
FILE_REF file_ref;
double dtemp;
@@ -2118,15 +2192,21 @@
RUN_MODE::RUN_MODE() {
perm_mode = 0;
temp_mode = 0;
+ prev_mode = 0;
temp_timeout = 0;
}
void RUN_MODE::set(int mode, double duration) {
+ if (mode == 0) mode = RUN_MODE_AUTO;
if (mode == RUN_MODE_RESTORE) {
temp_timeout = 0;
+ if (temp_mode == perm_mode) {
+ perm_mode = prev_mode;
+ }
temp_mode = perm_mode;
return;
}
+ prev_mode = temp_mode;
if (duration) {
temp_mode = mode;
temp_timeout = gstate.now + duration;
@@ -2136,12 +2216,23 @@
perm_mode = mode;
gstate.set_client_state_dirty("Set mode");
}
+
+ // In case we read older state file with no prev_mode
+ if (prev_mode == 0) prev_mode = temp_mode;
+}
+
+void RUN_MODE::set_prev(int mode) {
+ prev_mode = mode;
}
int RUN_MODE::get_perm() {
return perm_mode;
}
+int RUN_MODE::get_prev() {
+ return prev_mode;
+}
+
int RUN_MODE::get_current() {
if (temp_timeout > gstate.now) {
return temp_mode;
diff -Nru boinc-7.0.7+dfsg/client/client_types.h boinc-7.0.14+dfsg/client/client_types.h
--- boinc-7.0.7+dfsg/client/client_types.h 2011-12-27 01:38:12.000000000 +0000
+++ boinc-7.0.14+dfsg/client/client_types.h 2012-01-27 13:02:35.000000000 +0000
@@ -104,6 +104,7 @@
char md5_cksum[33];
double max_nbytes;
double nbytes;
+ double gzipped_nbytes; // defined if download_gzipped is true
double upload_offset;
int status; // see above
bool executable; // change file protections to make executable
@@ -124,6 +125,8 @@
int ref_cnt;
URL_LIST download_urls;
URL_LIST upload_urls;
+ bool download_gzipped;
+ // if set, download NAME.gz and gunzip it to NAME
char xml_signature[MAX_SIGNATURE_LEN];
// the upload signature
char file_signature[MAX_SIGNATURE_LEN];
@@ -149,6 +152,9 @@
bool verify_file_certs();
int gzip();
// gzip file and add .gz to name
+ int gunzip(char*);
+ // unzip file and remove .gz from filename.
+ // optionally compute MD5 also
inline bool uploadable() {
return !upload_urls.empty();
}
@@ -335,7 +341,7 @@
int sched_rpc_pending;
// we need to do a scheduler RPC, for various possible reasons:
// user request, propagate host CPID, time-based, etc.
- // Reasons are enumerated in scheduler_op.h
+ // Reasons are enumerated in lib/common_defs.h
bool possibly_backed_off;
// we need to call request_work_fetch() when a project
// transitions from being backed off to not.
@@ -359,6 +365,10 @@
// to make sure they haven't been tampered with.
// This provides only the illusion of security.
bool use_symlinks;
+ double disk_usage;
+ // computed by get_disk_usages()
+ double disk_share;
+ // computed by get_disk_shares();
// items send in scheduler replies, requesting that
// various things be sent in the next request
@@ -806,10 +816,13 @@
struct RUN_MODE {
int perm_mode;
int temp_mode;
+ int prev_mode;
double temp_timeout;
RUN_MODE();
void set(int mode, double duration);
+ void set_prev(int mode);
int get_perm();
+ int get_prev();
int get_current();
double delay();
};
diff -Nru boinc-7.0.7+dfsg/client/coproc_detect.cpp boinc-7.0.14+dfsg/client/coproc_detect.cpp
--- boinc-7.0.7+dfsg/client/coproc_detect.cpp 2011-11-29 19:14:54.000000000 +0000
+++ boinc-7.0.14+dfsg/client/coproc_detect.cpp 2012-01-26 11:11:40.000000000 +0000
@@ -18,6 +18,10 @@
// client-specific GPU code. Mostly GPU detection
+#define FAKENVIDIACUDA0 0
+#define FAKE2NVIDIAOPENCLS 0
+#define DEBUGFOROLIVER 0
+
#include "cpp.h"
#ifdef _WIN32
@@ -62,6 +66,9 @@
}
#endif
+vector ati_gpus;
+vector nvidia_gpus;
+
void COPROCS::get(
bool use_all, vector&descs, vector&warnings,
@@ -109,6 +116,9 @@
}
signal(SIGSEGV, old_sig);
#endif
+
+ ati_gpus.clear();
+ nvidia_gpus.clear();
}
@@ -193,6 +203,7 @@
COPROC_NVIDIA nvidia_temp;
COPROC_ATI ati_temp;
unsigned int i;
+ int current_CUDA_index;
char buf[256];
#ifdef _WIN32
@@ -265,6 +276,21 @@
return;
}
+#if FAKE2NVIDIAOPENCLS
+num_devices = 3;
+devices[2] = devices[1];
+#endif
+
+#if DEBUGFOROLIVER
+ if (log_flags.coproc_debug) {
+ msg_printf(0, MSG_INFO,
+ "[coproc] %d OpenCL devices detected", num_devices
+ );
+ }
+#endif
+ // Mac OpenCL does not recognize all NVIDIA GPUs returned by CUDA
+ current_CUDA_index = 0;
+
for (device_index=0; device_index= (int)(nvidia_gpus.size())) {
+ if (log_flags.coproc_debug) {
+ msg_printf(0, MSG_INFO,
+ "[coproc] OpenCL NVIDIA index #%d does not match any CUDA device",
+ device_index
+ );
+ }
+ return; // Should never happen
+ }
+ }
+ prop.device_num = current_CUDA_index;
+ prop.opencl_device_index = device_index;
+
if (!nvidia.have_cuda) {
COPROC_NVIDIA c;
c.opencl_prop = prop;
c.set_peak_flops();
prop.peak_flops = c.peak_flops;
}
+ if (nvidia_gpus.size()) {
+ // Assumes OpenCL and CUDA return the devices in the same order
+ prop.opencl_available_ram = nvidia_gpus[prop.device_num].available_ram;
+ } else {
+ prop.opencl_available_ram = prop.global_mem_size;
+ }
+#if DEBUGFOROLIVER
+ if (log_flags.coproc_debug) {
+ msg_printf(0, MSG_INFO,
+ "[coproc] OpenCL device %d: clGetDeviceInfo got available memory size %.0fMB",
+ device_index, prop.opencl_available_ram/MEGA
+ );
+ }
+#endif
nvidia_opencls.push_back(prop);
}
if ((strstr(prop.vendor, GPU_TYPE_ATI)) ||
@@ -293,21 +374,36 @@
(strstr(prop.vendor, "Advanced Micro Devices, Inc."))
) {
prop.device_num = (int)(ati_opencls.size());
+ prop.opencl_device_index = prop.device_num;
+
+#ifdef __APPLE__
// Work around a bug in OpenCL which returns only
// 1/2 of total global RAM size.
// This bug applies only to ATI GPUs, not to NVIDIA
+ // This has already been fixed on latest Catalyst
+ // drivers, but Mac does not use Catalyst drivers.
// Assume this will be fixed in openCL 1.2.
+ // See also further workaround code for systems with
+ // CAL support.
if ((!strstr("1.0", prop.opencl_platform_version))
|| (!strstr("1.1", prop.opencl_platform_version))
){
prop.global_mem_size *= 2;
}
+#endif
+
if (!ati.have_cal) {
COPROC_ATI c;
c.opencl_prop = prop;
c.set_peak_flops();
prop.peak_flops = c.peak_flops;
}
+ if (ati_gpus.size()) {
+ // Assumes OpenCL and CAL return the same device with the same index
+ prop.opencl_available_ram = ati_gpus[prop.device_num].available_ram;
+ } else {
+ prop.opencl_available_ram = prop.global_mem_size;
+ }
ati_opencls.push_back(prop);
}
}
@@ -323,13 +419,30 @@
} else {
nvidia.find_best_opencls(use_all, nvidia_opencls, ignore_nvidia_dev);
nvidia.prop.totalGlobalMem = nvidia.opencl_prop.global_mem_size;
+ nvidia.available_ram = nvidia.opencl_prop.global_mem_size;
nvidia.prop.clockRate = nvidia.opencl_prop.max_clock_frequency * 1000;
}
+#if DEBUGFOROLIVER
+ if (log_flags.coproc_debug) {
+ msg_printf(0, MSG_INFO,
+ "[coproc] Creating descriptions for %d NVIDIA OpenCL devices",
+ (int)nvidia_opencls.size()
+ );
+ }
+#endif
// Create descriptions for OpenCL NVIDIA GPUs
//
for (i=0; i &opencls,
vector& ignore_dev
) {
- unsigned int i;
+ unsigned int i, j;
for (i=0; i &opencls,
@@ -587,6 +737,7 @@
}
if (use_all || !opencl_compare(opencls[i], opencl_prop, true)) {
device_nums[count++] = opencls[i].device_num;
+ opencl_device_indexes[opencl_device_count] = opencls[i].opencl_device_index;
opencl_device_ids[opencl_device_count++] = opencls[i].device_id;
opencls[i].is_used = COPROC_USED;
}
@@ -824,7 +975,6 @@
return;
}
- vector gpus;
retval = (*__cuDeviceGetCount)(&cuda_ndevs);
if (retval) {
sprintf(buf, "cuDeviceGetCount() returned %d", retval);
@@ -841,6 +991,13 @@
for (j=0; j 0) {
- *this = gpus[i];
+ } else if (nvidia_compare(nvidia_gpus[i], *this, false) > 0) {
+ *this = nvidia_gpus[i];
}
}
@@ -912,17 +1071,17 @@
// and set the "count" and "device_nums" fields
//
count = 0;
- for (i=0; i gpus;
for (CALuint i=0; i 0) {
- *this = gpus[i];
+ } else if (ati_compare(ati_gpus[i], *this, false) > 0) {
+ *this = ati_gpus[i];
}
}
@@ -1354,17 +1518,17 @@
// and set the "count" and "device_nums" fields
//
count = 0;
- for (i=0; inon_cpu_intensive()) continue;
PROJECT* p = rp->project;
- bool only_deadline_misses = true;
-
// treat projects with DCF>90 as if they had deadline misses
//
if (p->duration_correction_factor < 90.0) {
- int d = p->rsc_pwf[rsc_type].deadlines_missed_copy;
- if (!d) {
+ if (p->rsc_pwf[rsc_type].deadlines_missed_copy <= 0) {
continue;
}
- } else {
- only_deadline_misses = false;
}
- if (only_deadline_misses && !rp->rr_sim_misses_deadline) {
- continue;
- }
bool new_best = false;
if (best_result) {
if (rp->report_deadline < best_result->report_deadline) {
@@ -653,9 +645,10 @@
// than those with positive resource share
//
if (resource_share == 0) {
- sched_priority = -1e6 - rec_frac;
+ sched_priority = -1e3 - rec_frac;
+ } else {
+ sched_priority = - rec_frac/resource_share_frac;
}
- sched_priority = - rec_frac/resource_share_frac;
}
// called from the scheduler's job-selection loop;
@@ -1139,7 +1132,9 @@
cp->type, j, rp->name
);
}
+#if DEFER_ON_GPU_AVAIL_RAM
cp->available_ram_temp[j] -= rp->avp->gpu_ram;
+#endif
}
}
@@ -1158,13 +1153,15 @@
if ((cp->usage[i] || cp->pending_usage[i])
&& (cp->usage[i] + cp->pending_usage[i] + usage <= 1)
) {
+#if DEFER_ON_GPU_AVAIL_RAM
if (rp->avp->gpu_ram > cp->available_ram_temp[i]) {
defer_sched = true;
continue;
}
+ cp->available_ram_temp[i] -= rp->avp->gpu_ram;
+#endif
rp->coproc_indices[0] = i;
cp->usage[i] += usage;
- cp->available_ram_temp[i] -= rp->avp->gpu_ram;
if (log_flags.coproc_debug) {
msg_printf(rp->project, MSG_INFO,
"[coproc] Assigning %f of %s instance %d to %s",
@@ -1182,13 +1179,15 @@
continue;
}
if (!cp->usage[i]) {
+#if DEFER_ON_GPU_AVAIL_RAM
if (rp->avp->gpu_ram > cp->available_ram_temp[i]) {
defer_sched = true;
continue;
}
+ cp->available_ram_temp[i] -= rp->avp->gpu_ram;
+#endif
rp->coproc_indices[0] = i;
cp->usage[i] += usage;
- cp->available_ram_temp[i] -= rp->avp->gpu_ram;
if (log_flags.coproc_debug) {
msg_printf(rp->project, MSG_INFO,
"[coproc] Assigning %f of %s free instance %d to %s",
@@ -1222,10 +1221,18 @@
continue;
}
if (!cp->usage[i]) {
+#if DEFER_ON_GPU_AVAIL_RAM
if (rp->avp->gpu_ram > cp->available_ram_temp[i]) {
defer_sched = true;
+ if (log_flags.coproc_debug) {
+ msg_printf(rp->project, MSG_INFO,
+ "[coproc] task %s needs %.0fMB RAM, %s GPU %d has %.0fMB available",
+ rp->name, rp->avp->gpu_ram/MEGA, cp->type, i, cp->available_ram_temp[i]/MEGA
+ );
+ }
continue;
};
+#endif
nfree++;
}
}
@@ -1254,10 +1261,14 @@
}
if (!cp->usage[i]
&& !cp->pending_usage[i]
+#if DEFER_ON_GPU_AVAIL_RAM
&& (rp->avp->gpu_ram <= cp->available_ram_temp[i])
+#endif
) {
cp->usage[i] = 1;
+#if DEFER_ON_GPU_AVAIL_RAM
cp->available_ram_temp[i] -= rp->avp->gpu_ram;
+#endif
rp->coproc_indices[n++] = i;
if (log_flags.coproc_debug) {
msg_printf(rp->project, MSG_INFO,
@@ -1276,10 +1287,14 @@
continue;
}
if (!cp->usage[i]
+#if DEFER_ON_GPU_AVAIL_RAM
&& (rp->avp->gpu_ram <= cp->available_ram_temp[i])
+#endif
) {
cp->usage[i] = 1;
+#if DEFER_ON_GPU_AVAIL_RAM
cp->available_ram_temp[i] -= rp->avp->gpu_ram;
+#endif
rp->coproc_indices[n++] = i;
if (log_flags.coproc_debug) {
msg_printf(rp->project, MSG_INFO,
@@ -1308,6 +1323,7 @@
gstate.request_schedule_cpus("insufficient GPU RAM");
}
+#if DEFER_ON_GPU_AVAIL_RAM
static void copy_available_ram(COPROC& cp, const char* name) {
int rt = rsc_index(name);
if (rt > 0) {
@@ -1316,6 +1332,7 @@
}
}
}
+#endif
static inline void assign_coprocs(vector& jobs) {
unsigned int i;
@@ -1323,12 +1340,14 @@
double usage;
coprocs.clear_usage();
+#if DEFER_ON_GPU_AVAIL_RAM
if (coprocs.have_nvidia()) {
copy_available_ram(coprocs.nvidia, GPU_TYPE_NVIDIA);
}
if (coprocs.have_ati()) {
copy_available_ram(coprocs.ati, GPU_TYPE_ATI);
}
+#endif
// fill in pending usage
//
@@ -1837,7 +1856,7 @@
return NULL;
}
-// find total resource shares of all projects
+// find total resource shares of all CPU-intensive projects
//
double CLIENT_STATE::total_resource_share() {
double x = 0;
diff -Nru boinc-7.0.7+dfsg/client/cs_files.cpp boinc-7.0.14+dfsg/client/cs_files.cpp
--- boinc-7.0.7+dfsg/client/cs_files.cpp 2011-11-04 20:25:30.000000000 +0000
+++ boinc-7.0.14+dfsg/client/cs_files.cpp 2012-01-26 23:13:00.000000000 +0000
@@ -131,6 +131,26 @@
get_pathname(this, pathname, sizeof(pathname));
+ strcpy(cksum, "");
+
+ // see if we need to unzip it
+ //
+ if (download_gzipped && !boinc_file_exists(pathname)) {
+ char gzpath[256];
+ sprintf(gzpath, "%s.gz", pathname);
+ if (boinc_file_exists(gzpath) ) {
+ retval = gunzip(cksum);
+ if (retval) return retval;
+ } else {
+ strcat(gzpath, "t");
+ if (!boinc_file_exists(gzpath)) {
+ status = FILE_NOT_PRESENT;
+ }
+ return ERR_FILE_MISSING;
+ }
+ }
+
+
// If the file isn't there at all, set status to FILE_NOT_PRESENT;
// this will trigger a new download rather than erroring out
//
@@ -184,7 +204,8 @@
return ERR_NO_SIGNATURE;
}
retval = verify_file2(
- pathname, file_signature, project->code_sign_key, verified
+ pathname, strlen(cksum)?cksum:NULL,
+ file_signature, project->code_sign_key, verified
);
if (retval) {
msg_printf(project, MSG_INTERNAL_ERROR,
@@ -205,15 +226,17 @@
return ERR_RSA_FAILED;
}
} else if (strlen(md5_cksum)) {
- retval = md5_file(pathname, cksum, local_nbytes);
- if (retval) {
- msg_printf(project, MSG_INTERNAL_ERROR,
- "MD5 computation error for %s: %s\n",
- name, boincerror(retval)
- );
- error_msg = "MD5 computation error";
- status = retval;
- return retval;
+ if (!strlen(cksum)) {
+ retval = md5_file(pathname, cksum, local_nbytes);
+ if (retval) {
+ msg_printf(project, MSG_INTERNAL_ERROR,
+ "MD5 computation error for %s: %s\n",
+ name, boincerror(retval)
+ );
+ error_msg = "MD5 computation error";
+ status = retval;
+ return retval;
+ }
}
if (strcmp(cksum, md5_cksum)) {
if (show_errors) {
@@ -295,6 +318,16 @@
} else if (fip->status >= 0) {
// file transfer did not fail (non-negative status)
+ // If this was a compressed download, rename .gzt to .gz
+ //
+ if (fip->download_gzipped) {
+ char path[256], from_path[256], to_path[256];
+ get_pathname(fip, path, sizeof(path));
+ sprintf(from_path, "%s.gzt", path);
+ sprintf(to_path, "%s.gz", path);
+ boinc_rename(from_path, to_path);
+ }
+
// verify the file with RSA or MD5, and change permissions
//
retval = fip->verify_file(true, true);
diff -Nru boinc-7.0.7+dfsg/client/cs_prefs.cpp boinc-7.0.14+dfsg/client/cs_prefs.cpp
--- boinc-7.0.7+dfsg/client/cs_prefs.cpp 2011-11-07 19:47:40.000000000 +0000
+++ boinc-7.0.14+dfsg/client/cs_prefs.cpp 2012-01-03 10:11:58.000000000 +0000
@@ -67,27 +67,97 @@
#ifndef SIM
-int CLIENT_STATE::project_disk_usage(PROJECT* p, double& size) {
+// populate:
+// PROJECT::disk_usage for all projects
+// GLOBAL_STATE::client_disk_usage
+// GLOBAL_STATE::total_disk_usage
+//
+int CLIENT_STATE::get_disk_usages() {
char buf[256];
unsigned int i;
- double s;
+ double size;
+ PROJECT* p;
+ int retval;
- get_project_dir(p, buf, sizeof(buf));
- dir_size(buf, size);
+ client_disk_usage = 0;
+ total_disk_usage = 0;
+ for (i=0; idisk_usage = 0;
+ get_project_dir(p, buf, sizeof(buf));
+ retval = dir_size(buf, size);
+ if (!retval) p->disk_usage = size;
+ }
for (i=0; iwup->project != p) continue;
get_slot_dir(atp->slot, buf, sizeof(buf));
- dir_size(buf, s);
- size += s;
+ retval = dir_size(buf, size);
+ if (retval) continue;
+ atp->wup->project->disk_usage += size;
+ }
+ for (i=0; idisk_usage;
+ }
+ retval = dir_size(".", size, false);
+ if (!retval) {
+ client_disk_usage = size;
+ total_disk_usage += size;
}
-
return 0;
}
-int CLIENT_STATE::total_disk_usage(double& size) {
- return dir_size(".", size);
+// populate PROJECT::disk_share for all projects
+//
+void CLIENT_STATE::get_disk_shares() {
+ PROJECT* p;
+ unsigned int i;
+
+ double rss = 0;
+ for (i=0; iresource_share;
+ p->disk_share = p->disk_usage;
+ }
+ if (!rss) return;
+
+ // a project is "greedy" if it's using more than its share of disk
+ //
+ double greedy_rs = 0;
+ double non_greedy_usage = 0;
+ double allowed = allowed_disk_usage(total_disk_usage);
+ for (i=0; iresource_share/rss;
+ if (p->disk_usage > allowed*rs) {
+ greedy_rs += p->resource_share;
+ } else {
+ non_greedy_usage += p->disk_usage;
+ }
+ }
+ if (!greedy_rs) greedy_rs = 1; // handle projects w/ zero resource share
+
+ double greedy_allowed = allowed - non_greedy_usage;
+ if (log_flags.disk_usage_debug) {
+ msg_printf(0, MSG_INFO,
+ "[disk_usage] allowed %.2fMB used %.2fMB",
+ allowed, total_disk_usage
+ );
+ }
+ for (i=0; iresource_share/rss;
+ if (p->disk_usage > allowed*rs) {
+ p->disk_share = greedy_allowed*p->resource_share/greedy_rs;
+ }
+ if (log_flags.disk_usage_debug) {
+ msg_printf(p, MSG_INFO,
+ "[disk_usage] usage %.2fMB share %.2fMB",
+ p->disk_usage/MEGA, p->disk_share/MEGA
+ );
+ }
+ }
}
// See if we should suspend processing
@@ -453,12 +523,11 @@
" max memory usage when idle: %.2fMB",
(host_info.m_nbytes*global_prefs.ram_max_used_idle_frac)/MEGA
);
- double x;
#ifndef SIM
- total_disk_usage(x);
+ get_disk_usages();
msg_printf(NULL, MSG_INFO,
" max disk usage: %.2fGB",
- allowed_disk_usage(x)/GIGA
+ allowed_disk_usage(total_disk_usage)/GIGA
);
#endif
// max_cpus, bandwidth limits may have changed
diff -Nru boinc-7.0.7+dfsg/client/cs_scheduler.cpp boinc-7.0.14+dfsg/client/cs_scheduler.cpp
--- boinc-7.0.7+dfsg/client/cs_scheduler.cpp 2011-12-14 16:46:56.000000000 +0000
+++ boinc-7.0.14+dfsg/client/cs_scheduler.cpp 2012-01-02 05:53:42.000000000 +0000
@@ -74,7 +74,6 @@
MIOFILE mf;
unsigned int i;
RESULT* rp;
- double disk_total, disk_project;
get_sched_request_filename(*p, buf, sizeof(buf));
FILE* f = boinc_fopen(buf, "wb");
@@ -209,14 +208,15 @@
// get and write disk usage
//
- total_disk_usage(disk_total);
- project_disk_usage(p, disk_project);
+ get_disk_usages();
+ get_disk_shares();
fprintf(f,
" \n"
" %f\n"
" %f\n"
+ " %f\n"
" \n",
- disk_total, disk_project
+ total_disk_usage, p->disk_usage, p->disk_share
);
// copy request values from RSC_WORK_FETCH to COPROC
@@ -797,6 +797,8 @@
strcpy(avp->cmdline, avpp.cmdline);
avp->gpu_usage = avpp.gpu_usage;
strlcpy(avp->api_version, avpp.api_version, sizeof(avp->api_version));
+ avp->dont_throttle = avpp.dont_throttle;
+ avp->needs_network = avpp.needs_network;
// if we had download failures, clear them
//
diff -Nru boinc-7.0.7+dfsg/client/cs_statefile.cpp boinc-7.0.14+dfsg/client/cs_statefile.cpp
--- boinc-7.0.7+dfsg/client/cs_statefile.cpp 2011-10-13 19:05:18.000000000 +0000
+++ boinc-7.0.14+dfsg/client/cs_statefile.cpp 2012-01-27 13:02:35.000000000 +0000
@@ -446,10 +446,18 @@
cpu_run_mode.set(retval, 0);
continue;
}
+ if (xp.parse_int("user_run_prev_request", retval)) {
+ cpu_run_mode.set_prev(retval);
+ continue;
+ }
if (xp.parse_int("user_gpu_request", retval)) {
gpu_run_mode.set(retval, 0);
continue;
}
+ if (xp.parse_int("user_gpu_prev_request", retval)) {
+ gpu_run_mode.set_prev(retval);
+ continue;
+ }
if (xp.parse_int("user_network_request", retval)) {
network_run_mode.set(retval, 0);
continue;
@@ -721,7 +729,9 @@
"%d\n"
"%d\n"
"%d\n"
+ "%d\n"
"%d\n"
+ "%d\n"
"%d\n"
"%s"
"%f\n"
@@ -731,7 +741,9 @@
core_client_version.minor,
core_client_version.release,
cpu_run_mode.get_perm(),
+ cpu_run_mode.get_prev(),
gpu_run_mode.get_perm(),
+ gpu_run_mode.get_prev(),
network_run_mode.get_perm(),
cpu_benchmarks_pending?"\n":"",
new_version_check_time,
diff -Nru boinc-7.0.7+dfsg/client/file_xfer.cpp boinc-7.0.14+dfsg/client/file_xfer.cpp
--- boinc-7.0.7+dfsg/client/file_xfer.cpp 2011-10-18 04:23:03.000000000 +0000
+++ boinc-7.0.14+dfsg/client/file_xfer.cpp 2012-01-20 23:34:15.000000000 +0000
@@ -53,6 +53,9 @@
is_upload = false;
fip = &file_info;
get_pathname(fip, pathname, sizeof(pathname));
+ if (fip->download_gzipped) {
+ strcat(pathname, ".gzt");
+ }
// if file is already as large or larger than it's supposed to be,
// something's screwy; start reading it from the beginning.
@@ -79,6 +82,9 @@
//
fip = &file_info;
get_pathname(fip, pathname, sizeof(pathname));
+ if (!boinc_file_exists(pathname)) {
+ return ERR_FILE_NOT_FOUND;
+ }
is_upload = true;
diff -Nru boinc-7.0.7+dfsg/client/gui_rpc_server_ops.cpp boinc-7.0.14+dfsg/client/gui_rpc_server_ops.cpp
--- boinc-7.0.7+dfsg/client/gui_rpc_server_ops.cpp 2011-11-03 19:19:36.000000000 +0000
+++ boinc-7.0.14+dfsg/client/gui_rpc_server_ops.cpp 2012-01-14 05:56:32.000000000 +0000
@@ -155,19 +155,19 @@
}
#endif
boinc_total = boinc_non_project;
+ gstate.get_disk_usages();
for (i=0; i\n"
" %s\n"
" %f\n"
"\n",
- p->master_url, size
+ p->master_url, p->disk_usage
);
- boinc_total += size;
+ boinc_total += p->disk_usage;
}
- d_allowed = gstate.allowed_disk_usage(boinc_total);
+ d_allowed = gstate.allowed_disk_usage(gstate.total_disk_usage);
grc.mfout.printf(
"%f\n"
"%f\n"
@@ -1369,7 +1369,8 @@
"Server: BOINC client\n"
"Connection: close\n"
"Content-Type: text/xml; charset=utf-8\n"
- "Content-Length: %d\n\n",
+ "Content-Length: %d\n\n"
+ "\n",
n
);
send(sock, buf, strlen(buf), 0);
diff -Nru boinc-7.0.7+dfsg/client/hostinfo_unix.cpp boinc-7.0.14+dfsg/client/hostinfo_unix.cpp
--- boinc-7.0.7+dfsg/client/hostinfo_unix.cpp 2011-12-28 17:02:34.000000000 +0000
+++ boinc-7.0.14+dfsg/client/hostinfo_unix.cpp 2012-01-13 10:35:11.000000000 +0000
@@ -1584,14 +1584,27 @@
// daemon running as user boinc_master, this API works properly under OS 10.6
// but fails under OS 10.5 and earlier.
//
+// In OS 10.7, IOHIDGetParameter() fails to recognize activity from remote
+// logins via Apple Remote Desktop or Screen Sharing (VNC), but the
+// CGEventSourceSecondsSinceLastEventType() API does work with ARD and VNC,
+// except when BOINC is a pre-login launchd daemon running as user boinc_master.
+//
+// So as a workaround in OS 10.7, we use CGEventSourceSecondsSinceLastEventType
+// unless running as a daemon. Therefore BOINC still won't detect activity from
+// remote via Apple Remote Desktop or Screen Sharing (VNC) when run as a daemon
+// under OS 10.7.
+//
// So we use weak-linking of NxIdleTime() to prevent a run-time crash from the
-// dynamic linker, and use the IOHIDGetParameter() API if NXIdleTime does not
-// exist.
+// dynamic linker and use it if it exists.
+// If NXIdleTime does not exist, use CGEventSourceSecondsSinceLastEventType()
+// under OS 10.7, or IOHIDGetParameter() under OS 10.6.
//
bool HOST_INFO::users_idle(
bool check_all_logins, double idle_time_to_run, double *actual_idle_time
) {
static bool error_posted = false;
+ static long OSVersionInfo = 0;
+ OSStatus err = noErr;
double idleTime = 0;
io_service_t service;
kern_return_t kernResult = kIOReturnError;
@@ -1605,6 +1618,9 @@
if (!triedToLoadNXIdleTime) {
triedToLoadNXIdleTime = true;
+ err = Gestalt(gestaltSystemVersion, &OSVersionInfo);
+ if (err) OSVersionInfo = 0;
+
IOKitlib = dlopen ("/System/Library/Frameworks/IOKit.framework/IOKit", RTLD_NOW );
if (IOKitlib) {
myNxIdleTimeProc = (nxIdleTimeProc)dlsym(IOKitlib, "NXIdleTime");
@@ -1621,7 +1637,7 @@
gEventHandle = NXOpenEventStatus();
if (!gEventHandle) {
- if (TickCount() > (120*60)) { // If system has been up for more than 2 minutes
+ if (TickCount() > (120*60)) { // If system has been up for more than 2 minutes
msg_printf(NULL, MSG_INFO,
"User idle detection is disabled: initialization failed."
);
@@ -1631,33 +1647,39 @@
}
}
} else { // NXIdleTime API does not exist in OS 10.6 and later
+ if ((OSVersionInfo >= 0x1070) && (! gstate.executing_as_daemon)) {
+
+ idleTime = CGEventSourceSecondsSinceLastEventType
+ (kCGEventSourceStateCombinedSessionState, kCGAnyInputEventType);
+ } else { // OS Version < 10.7
if (gEventHandle) {
- kernResult = IOHIDGetParameter( gEventHandle, CFSTR(EVSIOIDLE), sizeof(UInt64), ¶ms, &rcnt );
- if ( kernResult != kIOReturnSuccess ) {
- msg_printf(NULL, MSG_INFO,
- "User idle time measurement failed because IOHIDGetParameter failed."
- );
- error_posted = true;
- goto bail;
- }
- idleTime = ((double)params) / 1000.0 / 1000.0 / 1000.0;
- } else {
- service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching(kIOHIDSystemClass));
- if (service) {
- kernResult = IOServiceOpen(service, mach_task_self(), kIOHIDParamConnectType, &gEventHandle);
- }
- if ( (!service) || (kernResult != KERN_SUCCESS) ) {
- // When the system first starts up, allow time for HIDSystem to be available if needed
- if (TickCount() > (120*60)) { // If system has been up for more than 2 minutes
- msg_printf(NULL, MSG_INFO,
- "Could not connect to HIDSystem: user idle detection is disabled."
+ kernResult = IOHIDGetParameter( gEventHandle, CFSTR(EVSIOIDLE), sizeof(UInt64), ¶ms, &rcnt );
+ if ( kernResult != kIOReturnSuccess ) {
+ msg_printf(NULL, MSG_INFO,
+ "User idle time measurement failed because IOHIDGetParameter failed."
);
error_posted = true;
goto bail;
}
- }
- } // End gEventHandle == NULL
- } // End NXIdleTime API does not exist
+ idleTime = ((double)params) / 1000.0 / 1000.0 / 1000.0;
+ } else {
+ service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching(kIOHIDSystemClass));
+ if (service) {
+ kernResult = IOServiceOpen(service, mach_task_self(), kIOHIDParamConnectType, &gEventHandle);
+ }
+ if ( (!service) || (kernResult != KERN_SUCCESS) ) {
+ // When the system first starts up, allow time for HIDSystem to be available if needed
+ if (TickCount() > (120*60)) { // If system has been up for more than 2 minutes
+ msg_printf(NULL, MSG_INFO,
+ "Could not connect to HIDSystem: user idle detection is disabled."
+ );
+ error_posted = true;
+ goto bail;
+ }
+ }
+ } // End (gEventHandle == NULL)
+ } // End (OSVersionInfo < 0x1070)
+ } // End NXIdleTime API does not exist
bail:
if (actual_idle_time) {
diff -Nru boinc-7.0.7+dfsg/client/hostinfo_win.cpp boinc-7.0.14+dfsg/client/hostinfo_win.cpp
--- boinc-7.0.7+dfsg/client/hostinfo_win.cpp 2011-12-28 16:59:07.000000000 +0000
+++ boinc-7.0.14+dfsg/client/hostinfo_win.cpp 2011-12-28 00:22:20.000000000 +0000
@@ -1018,7 +1018,7 @@
FEATURE_TEST(ext_supported, (ext_ecx & (1 << 2)), "svm ");
FEATURE_TEST(ext_supported, (ext_ecx & (1 << 6)), "sse4a ");
FEATURE_TEST(ext_supported, (ext_ecx & (1 << 9)), "osvw ");
- FEATURE_TEST(ext_supported, (ext_ecx & (1 << 10)), "ibs ");
+ FEATURE_TEST(ext_supported, (ext_ecx & (1 << 10)), "ibs ");
FEATURE_TEST(ext_supported, (ext_ecx & (1 << 11)), "xop ");
FEATURE_TEST(ext_supported, (ext_ecx & (1 << 12)), "skinit ");
FEATURE_TEST(ext_supported, (ext_ecx & (1 << 13)), "wdt ");
diff -Nru boinc-7.0.7+dfsg/client/http_curl.cpp boinc-7.0.14+dfsg/client/http_curl.cpp
--- boinc-7.0.7+dfsg/client/http_curl.cpp 2011-10-18 04:41:13.000000000 +0000
+++ boinc-7.0.14+dfsg/client/http_curl.cpp 2012-01-25 00:00:30.000000000 +0000
@@ -548,7 +548,9 @@
// So, detect this and don't accept any encoding in that case
//
if (!out || !ends_with(std::string(out), std::string(".gz"))) {
- curl_easy_setopt(curlEasy, CURLOPT_ENCODING, "");
+ // Per: http://curl.haxx.se/dev/readme-encoding.html
+ // NULL disables, empty string accepts all.
+ curl_easy_setopt(curlEasy, CURLOPT_ENCODING, NULL);
}
// setup any proxy they may need
@@ -912,11 +914,8 @@
CURLINFO_RESPONSE_CODE, &response
);
- // CURLINFO_LONG+25 is a workaround for a bug in the gcc version
- // included with Mac OS X 10.3.9
- //
curl_easy_getinfo(curlEasy,
- (CURLINFO)(CURLINFO_LONG+25) /*CURLINFO_OS_ERRNO*/, &connect_error
+ CURLINFO_OS_ERRNO, &connect_error
);
// update byte counts and transfer speed
diff -Nru boinc-7.0.7+dfsg/client/net_stats.cpp boinc-7.0.14+dfsg/client/net_stats.cpp
--- boinc-7.0.7+dfsg/client/net_stats.cpp 2011-11-29 18:27:57.000000000 +0000
+++ boinc-7.0.14+dfsg/client/net_stats.cpp 2012-01-23 05:03:52.000000000 +0000
@@ -420,6 +420,9 @@
}
}
+// tell the scheduler how much we've used in the quota period
+// (currently not used by scheduler)
+//
void DAILY_XFER_HISTORY::write_scheduler_request(MIOFILE& mf, int ndays) {
double up, down;
totals(ndays, up, down);
diff -Nru boinc-7.0.7+dfsg/client/net_stats.h boinc-7.0.14+dfsg/client/net_stats.h
--- boinc-7.0.7+dfsg/client/net_stats.h 2011-10-06 17:23:16.000000000 +0000
+++ boinc-7.0.14+dfsg/client/net_stats.h 2011-11-16 19:47:40.000000000 +0000
@@ -45,6 +45,7 @@
// This ignores concurrency of transfers.
double avg_rate;
// recent average transfer rate
+ // i.e. over all time, not just when transfers are active
double avg_time;
// when avg_rate was last updated
void update(double nbytes, double dt);
diff -Nru boinc-7.0.7+dfsg/client/pers_file_xfer.cpp boinc-7.0.14+dfsg/client/pers_file_xfer.cpp
--- boinc-7.0.7+dfsg/client/pers_file_xfer.cpp 2011-12-14 16:52:42.000000000 +0000
+++ boinc-7.0.14+dfsg/client/pers_file_xfer.cpp 2011-12-17 05:36:45.000000000 +0000
@@ -141,7 +141,11 @@
}
fxp->file_xfer_retval = retval;
- transient_failure(retval);
+ if (retval == ERR_FILE_NOT_FOUND) {
+ permanent_failure(retval);
+ } else {
+ transient_failure(retval);
+ }
delete fxp;
fxp = NULL;
return retval;
diff -Nru boinc-7.0.7+dfsg/client/sandbox.h boinc-7.0.14+dfsg/client/sandbox.h
--- boinc-7.0.7+dfsg/client/sandbox.h 2009-12-14 19:24:06.000000000 +0000
+++ boinc-7.0.14+dfsg/client/sandbox.h 2012-01-17 09:38:32.000000000 +0000
@@ -23,7 +23,7 @@
extern int delete_project_owned_file(const char* path, bool retry);
extern int remove_project_owned_dir(const char* name);
extern int remove_project_owned_file_or_dir(const char* path);
-extern int check_security(int use_sandbox, int isManager);
+extern int check_security(int use_sandbox, int isManager, char* path_to_error = NULL);
#define BOINC_PROJECT_GROUP_NAME "boinc_project"
diff -Nru boinc-7.0.7+dfsg/client/scheduler_op.cpp boinc-7.0.14+dfsg/client/scheduler_op.cpp
--- boinc-7.0.7+dfsg/client/scheduler_op.cpp 2011-10-18 04:23:03.000000000 +0000
+++ boinc-7.0.14+dfsg/client/scheduler_op.cpp 2011-12-16 19:45:31.000000000 +0000
@@ -263,7 +263,7 @@
if (log_flags.sched_op_debug) {
for (int i=0; iAddGrowableRow(0);
+ itemFlexGridSizer->AddGrowableCol(1);
m_pTaskPane = new CBOINCTaskCtrl(this, iTaskWindowID, iTaskWindowFlags);
wxASSERT(m_pTaskPane);
m_pListPane = new CBOINCListCtrl(this, iListWindowID, iListWindowFlags);
wxASSERT(m_pListPane);
+
+ itemFlexGridSizer->Add(m_pTaskPane, 1, wxGROW|wxALL, 1);
+ itemFlexGridSizer->Add(m_pListPane, 1, wxGROW|wxALL, 1);
- SplitVertically(m_pTaskPane, m_pListPane, 250);
+ SetSizer(itemFlexGridSizer);
UpdateSelection();
@@ -723,13 +734,6 @@
wxASSERT(m_pTaskPane);
m_pTaskPane->UpdateControls();
Layout();
-
- // Adjust the width of the task pane so that it can be fully displayed.
- //
- if (IsSplit()) {
- wxSize sz = m_pTaskPane->GetVirtualSize();
- SetSashPosition(sz.GetWidth(), true);
- }
}
@@ -767,13 +771,13 @@
if (m_pListPane->GetSelectedItemCount()) {
if (project) {
// Create the web sites task group
- pGroup = new CTaskItemGroup( _("Web sites") );
+ pGroup = new CTaskItemGroup( _("Project web pages") );
m_TaskGroups.push_back( pGroup );
// Default project url
pItem = new CTaskItem(
- wxString(project->project_name.c_str(), wxConvUTF8),
- wxT(""),
+ wxString("Home page", wxConvUTF8),
+ wxString(project->project_name.c_str(), wxConvUTF8) + wxT(" web site"),
wxString(project->master_url, wxConvUTF8),
ID_TASK_PROJECT_WEB_PROJDEF_MIN
);
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCBaseView.h boinc-7.0.14+dfsg/clientgui/BOINCBaseView.h
--- boinc-7.0.7+dfsg/clientgui/BOINCBaseView.h 2011-12-14 16:54:50.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCBaseView.h 2012-01-25 11:51:31.000000000 +0000
@@ -53,6 +53,7 @@
~CTaskItem() {};
wxString m_strName;
+ wxString m_strNameEllipsed;
wxString m_strDescription;
wxInt32 m_iEventID;
@@ -97,7 +98,7 @@
typedef bool (*ListSortCompareFunc)(int, int);
-class CBOINCBaseView : public wxSplitterWindow {
+class CBOINCBaseView : public wxPanel {
DECLARE_DYNAMIC_CLASS( CBOINCBaseView )
public:
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCClientManager.cpp boinc-7.0.14+dfsg/clientgui/BOINCClientManager.cpp
--- boinc-7.0.7+dfsg/clientgui/BOINCClientManager.cpp 2011-11-03 02:35:04.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCClientManager.cpp 2012-01-11 11:33:03.000000000 +0000
@@ -296,7 +296,13 @@
if (IsBOINCConfiguredAsDaemon() == NewStyleDaemon) {
system ("launchctl load /Library/LaunchDaemons/edu.berkeley.boinc.plist");
system ("launchctl start edu.berkeley.boinc");
- bReturnValue = IsBOINCCoreRunning();
+ for (int i=0; i<100; i++) { // Wait up to 1 seccond in 10 ms increments
+ boinc_sleep(0.01);
+ if (IsBOINCCoreRunning()) {
+ bReturnValue = true;
+ break;
+ }
+ }
} else {
// Get the full path to core client inside this application's bundle
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCGUIApp.cpp boinc-7.0.14+dfsg/clientgui/BOINCGUIApp.cpp
--- boinc-7.0.7+dfsg/clientgui/BOINCGUIApp.cpp 2011-12-16 10:32:28.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCGUIApp.cpp 2012-01-23 19:30:51.000000000 +0000
@@ -60,6 +60,7 @@
IMPLEMENT_DYNAMIC_CLASS(CBOINCGUIApp, wxApp)
BEGIN_EVENT_TABLE (CBOINCGUIApp, wxApp)
+ EVT_ACTIVATE_APP(CBOINCGUIApp::OnActivateApp)
EVT_RPC_FINISHED(CBOINCGUIApp::OnRPCFinished)
END_EVENT_TABLE ()
@@ -294,8 +295,28 @@
wxHelpProvider::Set(new wxHelpControllerHelpProvider());
+ // Enable known image types
+ wxInitAllImageHandlers();
+
+ // Enable additional file system type handlers
+ wxFileSystem::AddHandler(new wxMemoryFSHandler);
+ wxFileSystem::AddHandler(new CBOINCInternetFSHandler);
+
+ // Initialize the skin manager
+ m_pSkinManager = new CSkinManager(m_bDebugSkins);
+ wxASSERT(m_pSkinManager);
+
+
+ // Load desired manager skin
+ m_pConfig->Read(wxT("Skin"), &strDesiredSkinName, m_pSkinManager->GetDefaultSkinName());
+ m_pSkinManager->ReloadSkin(strDesiredSkinName);
+
+
#ifdef SANDBOX
// Make sure owners, groups and permissions are correct for the current setting of g_use_sandbox
+ char path_to_error[MAXPATHLEN];
+ path_to_error[0] = '\0';
+
if (!iErrorCode) {
#if (defined(__WXMAC__) && defined(_DEBUG)) // TODO: implement this for other platforms
// GDB can't attach to applications which are running as a different user
@@ -306,7 +327,7 @@
SetBOINCAppOwnersGroupsAndPermissions(NULL);
}
#endif
- iErrorCode = check_security(g_use_sandbox, true);
+ iErrorCode = check_security(g_use_sandbox, true, path_to_error);
}
if (iErrorCode) {
@@ -314,16 +335,36 @@
ShowApplication(true);
if (iErrorCode == -1099) {
- strDialogMessage =
- _("You currently are not authorized to manage the client.\n\nTo run BOINC as this user, please:\n - reinstall BOINC answering \"Yes\" to the question about\n non-administrative users\n or\n - contact your administrator to add you to the 'boinc_master'\n user group.");
+ strDialogMessage.Printf(
+ _("You currently are not authorized to manage the client.\n\nTo run %s as this user, please:\n - reinstall %s answering \"Yes\" to the question about\n non-administrative users\n or\n - contact your administrator to add you to the 'boinc_master'\n user group."),
+ m_pSkinManager->GetAdvanced()->GetApplicationShortName().c_str(),
+ m_pSkinManager->GetAdvanced()->GetApplicationShortName().c_str()
+ );
} else {
- strDialogMessage.Printf(
- _("BOINC ownership or permissions are not set properly; please reinstall BOINC.\n(Error code %d)"),
- iErrorCode
- );
-
+ strDialogMessage.Printf(
+ _("%s ownership or permissions are not set properly; please reinstall %s.\n(Error code %d"),
+ m_pSkinManager->GetAdvanced()->GetApplicationShortName().c_str(),
+ m_pSkinManager->GetAdvanced()->GetApplicationShortName().c_str(),
+ iErrorCode
+ );
+ if (path_to_error[0]) {
+ strDialogMessage += _(" at ");
+ strDialogMessage += wxString::FromUTF8(path_to_error);
+ }
+ strDialogMessage += _(")");
+
+ fprintf(stderr, "%ls ownership or permissions are not set properly; please reinstall %ls.\n(Error code %d at %s)",
+ m_pSkinManager->GetAdvanced()->GetApplicationShortName().c_str(),
+ m_pSkinManager->GetAdvanced()->GetApplicationShortName().c_str(),
+ iErrorCode, path_to_error
+ );
}
- wxMessageDialog* pDlg = new wxMessageDialog(NULL, strDialogMessage, wxT("BOINC Manager"), wxOK);
+ wxMessageDialog* pDlg = new wxMessageDialog(
+ NULL,
+ strDialogMessage,
+ m_pSkinManager->GetAdvanced()->GetApplicationName(),
+ wxOK
+ );
pDlg->ShowModal();
if (pDlg)
@@ -334,23 +375,6 @@
#endif // SANDBOX
- // Enable known image types
- wxInitAllImageHandlers();
-
- // Enable additional file system type handlers
- wxFileSystem::AddHandler(new wxMemoryFSHandler);
- wxFileSystem::AddHandler(new CBOINCInternetFSHandler);
-
- // Initialize the skin manager
- m_pSkinManager = new CSkinManager(m_bDebugSkins);
- wxASSERT(m_pSkinManager);
-
-
- // Load desired manager skin
- m_pConfig->Read(wxT("Skin"), &strDesiredSkinName, m_pSkinManager->GetDefaultSkinName());
- m_pSkinManager->ReloadSkin(strDesiredSkinName);
-
-
#ifdef __WXMSW__
// Perform any last minute checks that should keep the manager
// from starting up.
@@ -764,6 +788,17 @@
}
+void CBOINCGUIApp::OnActivateApp(wxActivateEvent& event) {
+ if (event.GetActive()) {
+ if (m_pEventLog && !m_pEventLog->IsIconized()) {
+ m_pEventLog->Raise();
+ }
+ m_pFrame->Raise();
+ }
+ event.Skip();
+}
+
+
void CBOINCGUIApp::OnRPCFinished( CRPCFinishedEvent& event ) {
CMainDocument* pDoc = wxGetApp().GetDocument();
@@ -816,7 +851,7 @@
// Display the Event Log, it is a modeless dialog not owned by any
// other UI element.
void CBOINCGUIApp::DisplayEventLog(bool bShowWindow) {
- if (m_pEventLog ) {
+ if (m_pEventLog) {
if (bShowWindow) {
if (m_pEventLog->IsIconized()) {
m_pEventLog->Iconize(false);
@@ -968,17 +1003,20 @@
}
// Show the new frame if needed
- if (m_pFrame && !m_pFrame->IsShown() && bShowWindow) {
- m_pFrame->Show();
- m_pFrame->Raise();
+ if (m_pFrame && bShowWindow) {
+ if (m_pEventLog) {
+ m_pEventLog->Show();
+ m_pEventLog->Raise();
#ifdef __WXMSW__
- ::SetForegroundWindow((HWND)m_pFrame->GetHWND());
+ ::SetForegroundWindow((HWND)m_pEventLog->GetHWND());
#endif
- }
+ }
- // Raise the frame to the top of the Z order if needed
- if (m_pFrame && m_pFrame->IsShown() && bShowWindow) {
+ if (!m_pFrame->IsShown()) {
+ m_pFrame->Show();
+ }
m_pFrame->Raise();
+
#ifdef __WXMSW__
::SetForegroundWindow((HWND)m_pFrame->GetHWND());
#endif
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCGUIApp.h boinc-7.0.14+dfsg/clientgui/BOINCGUIApp.h
--- boinc-7.0.7+dfsg/clientgui/BOINCGUIApp.h 2011-11-03 02:35:04.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCGUIApp.h 2012-01-23 19:30:51.000000000 +0000
@@ -168,6 +168,7 @@
bool SetActiveGUI(int iGUISelection, bool bShowWindow = true);
+ void OnActivateApp( wxActivateEvent& event );
void OnRPCFinished( CRPCFinishedEvent& event );
int ConfirmExit();
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCTaskBar.cpp boinc-7.0.14+dfsg/clientgui/BOINCTaskBar.cpp
--- boinc-7.0.7+dfsg/clientgui/BOINCTaskBar.cpp 2011-07-08 08:26:11.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCTaskBar.cpp 2012-01-27 22:39:20.000000000 +0000
@@ -92,6 +92,7 @@
m_iconTaskBarNormal = *icon;
m_iconTaskBarDisconnected = *iconDisconnected;
m_iconTaskBarSnooze = *iconSnooze;
+ m_SnoozeGPUMenuItem = NULL;
m_bTaskbarInitiatedShutdown = false;
@@ -217,7 +218,9 @@
ResetTaskBar();
pDoc->GetCoreClientStatus(status);
- if (status.task_mode_perm != status.task_mode) {
+ if (status.task_mode_perm == RUN_MODE_NEVER) {
+ pDoc->SetActivityRunMode(RUN_MODE_RESTORE, 0);
+ } else if (status.task_mode_perm != status.task_mode) {
pDoc->SetActivityRunMode(RUN_MODE_RESTORE, 0);
} else {
pDoc->SetActivityRunMode(RUN_MODE_NEVER, 3600);
@@ -234,7 +237,9 @@
ResetTaskBar();
pDoc->GetCoreClientStatus(status);
- if (status.gpu_mode_perm != status.gpu_mode) {
+ if (status.gpu_mode_perm == RUN_MODE_NEVER) {
+ pDoc->SetGPURunMode(RUN_MODE_RESTORE, 0);
+ } else if (status.gpu_mode_perm != status.gpu_mode) {
pDoc->SetGPURunMode(RUN_MODE_RESTORE, 0);
} else {
pDoc->SetGPURunMode(RUN_MODE_NEVER, 3600);
@@ -496,9 +501,9 @@
pMenu->AppendSeparator();
- pMenu->AppendCheckItem(ID_TB_SUSPEND, _("Snooze"), wxEmptyString);
+ m_SnoozeMenuItem = pMenu->AppendCheckItem(ID_TB_SUSPEND, _("Snooze"), wxEmptyString);
if (pDoc->state.have_nvidia || pDoc->state.have_ati) {
- pMenu->AppendCheckItem(ID_TB_SUSPEND_GPU, _("Snooze GPU"), wxEmptyString);
+ m_SnoozeGPUMenuItem = pMenu->AppendCheckItem(ID_TB_SUSPEND_GPU, _("Snooze GPU"), wxEmptyString);
}
pMenu->AppendSeparator();
@@ -585,46 +590,59 @@
case RUN_MODE_NEVER:
switch (status.task_mode_perm) {
case RUN_MODE_NEVER:
- pMenu->Check(ID_TB_SUSPEND, false);
- pMenu->Enable(ID_TB_SUSPEND, false);
+ m_SnoozeMenuItem->SetItemLabel(_("Resume"));
+ m_SnoozeMenuItem->Check(false);
+ if (!is_dialog_detected) {
+ m_SnoozeMenuItem->Enable(true);
+ }
break;
default:
- pMenu->Check(ID_TB_SUSPEND, true);
+ m_SnoozeMenuItem->SetItemLabel(_("Snooze"));
+ m_SnoozeMenuItem->Check(true);
if (!is_dialog_detected) {
- pMenu->Enable(ID_TB_SUSPEND, true);
+ m_SnoozeMenuItem->Enable(true);
}
}
- if (pDoc->state.have_nvidia || pDoc->state.have_ati) {
- pMenu->Check(ID_TB_SUSPEND_GPU, false);
- pMenu->Enable(ID_TB_SUSPEND_GPU, false);
- }
break;
default:
- pMenu->Check(ID_TB_SUSPEND, false);
+ m_SnoozeMenuItem->SetItemLabel(_("Snooze"));
+ m_SnoozeMenuItem->Check(false);
if (!is_dialog_detected) {
- pMenu->Enable(ID_TB_SUSPEND, true);
+ m_SnoozeMenuItem->Enable(true);
}
- if (pDoc->state.have_nvidia || pDoc->state.have_ati) {
- switch (status.gpu_mode) {
+ }
+
+ if (pDoc->state.have_nvidia || pDoc->state.have_ati) {
+ switch (status.gpu_mode) {
+ case RUN_MODE_NEVER:
+ switch (status.gpu_mode_perm) {
case RUN_MODE_NEVER:
- switch (status.gpu_mode_perm) {
- case RUN_MODE_NEVER:
- pMenu->Check(ID_TB_SUSPEND_GPU, false);
- pMenu->Enable(ID_TB_SUSPEND_GPU, false);
- break;
- default:
- pMenu->Check(ID_TB_SUSPEND_GPU, true);
- if (!is_dialog_detected) {
- pMenu->Enable(ID_TB_SUSPEND_GPU, true);
- }
+ m_SnoozeGPUMenuItem->SetItemLabel(_("Resume GPU"));
+ m_SnoozeGPUMenuItem->Check(false);
+ if (!is_dialog_detected) {
+ m_SnoozeGPUMenuItem->Enable(true);
}
break;
default:
- pMenu->Check(ID_TB_SUSPEND_GPU, false);
+ m_SnoozeGPUMenuItem->SetItemLabel(_("Snooze GPU"));
+ m_SnoozeGPUMenuItem->Check(true);
if (!is_dialog_detected) {
- pMenu->Enable(ID_TB_SUSPEND_GPU, true);
+ m_SnoozeGPUMenuItem->Enable(true);
}
- break;
+ }
+ break;
+ default:
+ m_SnoozeGPUMenuItem->SetItemLabel(_("Snooze GPU"));
+ m_SnoozeGPUMenuItem->Check(false);
+ if (!is_dialog_detected) {
+ m_SnoozeGPUMenuItem->Enable(true);
+ }
+ break;
+ }
+ if (pDoc->state.have_nvidia || pDoc->state.have_ati) {
+ if (status.task_mode == RUN_MODE_NEVER) {
+ m_SnoozeGPUMenuItem->Check(false);
+ m_SnoozeGPUMenuItem->Enable(false);
}
}
}
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCTaskBar.h boinc-7.0.14+dfsg/clientgui/BOINCTaskBar.h
--- boinc-7.0.7+dfsg/clientgui/BOINCTaskBar.h 2011-03-07 16:06:26.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCTaskBar.h 2012-01-27 13:02:35.000000000 +0000
@@ -100,25 +100,27 @@
}
#endif
- wxIcon m_iconTaskBarNormal;
- wxIcon m_iconTaskBarDisconnected;
- wxIcon m_iconTaskBarSnooze;
+ wxIcon m_iconTaskBarNormal;
+ wxIcon m_iconTaskBarDisconnected;
+ wxIcon m_iconTaskBarSnooze;
- wxIcon m_iconCurrentIcon;
+ wxIcon m_iconCurrentIcon;
- bool m_bTaskbarInitiatedShutdown;
+ bool m_bTaskbarInitiatedShutdown;
private:
- bool m_bMouseButtonPressed;
+ bool m_bMouseButtonPressed;
+ wxMenuItem* m_SnoozeMenuItem;
+ wxMenuItem* m_SnoozeGPUMenuItem;
- wxDateTime m_dtLastNotificationAlertExecuted;
- int m_iLastNotificationUnreadMessageCount;
+ wxDateTime m_dtLastNotificationAlertExecuted;
+ int m_iLastNotificationUnreadMessageCount;
- void ResetTaskBar();
- void DisplayContextMenu();
+ void ResetTaskBar();
+ void DisplayContextMenu();
- void UpdateTaskbarStatus();
- void UpdateNoticeStatus();
+ void UpdateTaskbarStatus();
+ void UpdateNoticeStatus();
DECLARE_EVENT_TABLE()
};
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCTaskCtrl.cpp boinc-7.0.14+dfsg/clientgui/BOINCTaskCtrl.cpp
--- boinc-7.0.7+dfsg/clientgui/BOINCTaskCtrl.cpp 2011-12-14 16:54:50.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCTaskCtrl.cpp 2012-01-27 21:29:35.000000000 +0000
@@ -23,6 +23,8 @@
#include "BOINCBaseView.h"
#include "BOINCTaskCtrl.h"
+#define TASKPANEWIDTH 200
+#define TASKBUTTONWIDTH (TASKPANEWIDTH - 55)
IMPLEMENT_DYNAMIC_CLASS(CBOINCTaskCtrl, wxScrolledWindow)
@@ -31,12 +33,12 @@
CBOINCTaskCtrl::CBOINCTaskCtrl(CBOINCBaseView* pView, wxWindowID iTaskWindowID, wxInt32 iTaskWindowFlags) :
- wxScrolledWindow(pView, iTaskWindowID, wxDefaultPosition, wxSize(200, -1), iTaskWindowFlags)
+ wxScrolledWindow(pView, iTaskWindowID, wxDefaultPosition, wxSize(TASKPANEWIDTH, -1), iTaskWindowFlags)
{
m_pParent = pView;
m_pSizer = NULL;
- SetVirtualSize( 200, 1000 );
+ SetVirtualSize( TASKPANEWIDTH, 1000 );
EnableScrolling(false, true);
SetScrollRate( 0, 10 );
@@ -131,13 +133,18 @@
wxInt32 CBOINCTaskCtrl::UpdateTask( CTaskItem* pItem, wxString strName, wxString strDescription ) {
if (pItem->m_pButton) {
+ if (!pItem->m_strName.Cmp(strName) &&
+ !pItem->m_strDescription.Cmp(strDescription)) {
+ return 0;
+ }
pItem->m_strName = strName;
+ pItem->m_strNameEllipsed = pItem->m_strName;
+ EllipseStringIfNeeded(pItem->m_strNameEllipsed);
pItem->m_strDescription = strDescription;
-
- pItem->m_pButton->SetLabel( strName );
+ pItem->m_pButton->SetLabel( pItem->m_strNameEllipsed );
pItem->m_pButton->SetHelpText( strDescription );
#if wxUSE_TOOLTIPS
- pItem->m_pButton->SetToolTip( strDescription );
+ pItem->m_pButton->SetToolTip(pItem->m_strDescription);
#endif
}
return 0;
@@ -180,7 +187,9 @@
pItem = pGroup->m_Tasks[j];
if (!pItem->m_pButton) {
pItem->m_pButton = new wxButton;
- pItem->m_pButton->Create(this, pItem->m_iEventID, pItem->m_strName, wxDefaultPosition, wxDefaultSize, 0);
+ pItem->m_strNameEllipsed = pItem->m_strName;
+ EllipseStringIfNeeded(pItem->m_strNameEllipsed);
+ pItem->m_pButton->Create(this, pItem->m_iEventID, pItem->m_strNameEllipsed, wxDefaultPosition, wxSize(TASKBUTTONWIDTH, -1), 0);
pItem->m_pButton->SetHelpText(pItem->m_strDescription);
#if wxUSE_TOOLTIPS
pItem->m_pButton->SetToolTip(pItem->m_strDescription);
@@ -241,3 +250,26 @@
return true;
}
+
+void CBOINCTaskCtrl::EllipseStringIfNeeded(wxString& s) {
+ int w, h;
+ int maxWidth = TASKBUTTONWIDTH - 10;
+
+ GetTextExtent(s, &w, &h);
+
+ // Adapted from ellipis code in wxRendererGeneric::DrawHeaderButtonContents()
+ if (w > maxWidth) {
+ int ellipsisWidth;
+ GetTextExtent( wxT("..."), &ellipsisWidth, NULL);
+ if (ellipsisWidth > maxWidth) {
+ s.Clear();
+ w = 0;
+ } else {
+ do {
+ s.Truncate( s.length() - 1 );
+ GetTextExtent( s, &w, &h);
+ } while (((w + ellipsisWidth) > maxWidth) && s.length() );
+ s.append( wxT("...") );
+ }
+ }
+}
diff -Nru boinc-7.0.7+dfsg/clientgui/BOINCTaskCtrl.h boinc-7.0.14+dfsg/clientgui/BOINCTaskCtrl.h
--- boinc-7.0.7+dfsg/clientgui/BOINCTaskCtrl.h 2008-08-06 18:36:30.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/BOINCTaskCtrl.h 2012-01-25 12:30:44.000000000 +0000
@@ -50,6 +50,8 @@
virtual bool OnSaveState( wxConfigBase* pConfig );
virtual bool OnRestoreState( wxConfigBase* pConfig );
+ void EllipseStringIfNeeded( wxString& s );
+
private:
CBOINCBaseView* m_pParent;
diff -Nru boinc-7.0.7+dfsg/clientgui/browser.cpp boinc-7.0.14+dfsg/clientgui/browser.cpp
--- boinc-7.0.7+dfsg/clientgui/browser.cpp 2011-12-14 17:03:06.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/browser.cpp 2012-02-02 17:35:24.000000000 +0000
@@ -937,6 +937,7 @@
static tIEGPMC pIEGPMC = NULL;
bool bReturnValue = false;
bool bCheckDomainName = false;
+ HRESULT rc;
WCHAR szCookieBuffer[2048];
WCHAR* pszCookieFragment = NULL;
DWORD dwSize = sizeof(szCookieBuffer)/sizeof(WCHAR);
@@ -974,15 +975,15 @@
domainname_w = std::wstring(_T("http://")) + A2W(domainname) + std::wstring(_T("/"));
// First check to see if the desired cookie is assigned to the hostname.
- bReturnValue = pIEGPMC(hostname_w.c_str(), NULL, szCookieBuffer, &dwSize, NULL) == TRUE;
- if (!bReturnValue || (!wcsstr(szCookieBuffer, name_w.c_str()))) {
+ rc = pIEGPMC(hostname_w.c_str(), NULL, szCookieBuffer, &dwSize, NULL) == TRUE;
+ if (!SUCCEEDED(rc) || (!wcsstr(szCookieBuffer, name_w.c_str()))) {
bCheckDomainName = true;
}
// Next check if it was assigned to the domainname.
if (bCheckDomainName) {
- bReturnValue = pIEGPMC(domainname_w.c_str(), NULL, szCookieBuffer, &dwSize, NULL) == TRUE;
- if (!bReturnValue || (!wcsstr(szCookieBuffer, name_w.c_str()))) {
+ rc = pIEGPMC(domainname_w.c_str(), NULL, szCookieBuffer, &dwSize, NULL) == TRUE;
+ if (!SUCCEEDED(rc) || (!wcsstr(szCookieBuffer, name_w.c_str()))) {
return false;
}
}
diff -Nru boinc-7.0.7+dfsg/clientgui/DlgAdvPreferencesBase.cpp boinc-7.0.14+dfsg/clientgui/DlgAdvPreferencesBase.cpp
--- boinc-7.0.7+dfsg/clientgui/DlgAdvPreferencesBase.cpp 2011-10-21 12:17:10.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/DlgAdvPreferencesBase.cpp 2012-01-30 18:19:54.000000000 +0000
@@ -423,24 +423,43 @@
// buffer sizes
- m_staticText30 = new wxStaticText( networkTab, ID_DEFAULT, _("Connect about every"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText30 = new wxStaticText(
+ networkTab, ID_DEFAULT,
+ _("Minimum work buffer"), wxDefaultPosition, wxDefaultSize, 0
+ );
networkGeneralGridSizer->Add( m_staticText30, 0, wxALL, 5 );
- m_txtNetConnectInterval = new wxTextCtrl( networkTab, ID_TXTNETCONNECTINTERVAL, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
- m_txtNetConnectInterval->SetToolTip( _("this computer is connected to the Internet about every X days\n(0 if it's always connected)") );
+ m_txtNetConnectInterval = new wxTextCtrl(
+ networkTab, ID_TXTNETCONNECTINTERVAL, wxT(""),
+ wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT
+ );
+ m_txtNetConnectInterval->SetToolTip(
+ _("Try to maintain enough tasks to keep busy for this many days")
+ );
networkGeneralGridSizer->Add( m_txtNetConnectInterval, 0, wxALL, 1 );
- m_staticText31 = new wxStaticText( networkTab, ID_DEFAULT, _("days"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText31 = new wxStaticText(
+ networkTab, ID_DEFAULT, _("days"), wxDefaultPosition, wxDefaultSize, 0
+ );
networkGeneralGridSizer->Add( m_staticText31, 0, wxALL, 5 );
- m_staticText331 = new wxStaticText( networkTab, ID_DEFAULT, _("Additional work buffer"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText331 = new wxStaticText(
+ networkTab, ID_DEFAULT,
+ _("Max additional work buffer"), wxDefaultPosition, wxDefaultSize, 0
+ );
networkGeneralGridSizer->Add( m_staticText331, 0, wxALIGN_RIGHT|wxALL, 5 );
- m_txtNetAdditionalDays = new wxTextCtrl( networkTab, ID_TXTNETADDITIONALDAYS, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
+ m_txtNetAdditionalDays = new wxTextCtrl(
+ networkTab, ID_TXTNETADDITIONALDAYS, wxT(""),
+ wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT
+ );
+ m_txtNetAdditionalDays->SetToolTip(
+ _("In addition, maintain enough tasks for up to this many days")
+ );
networkGeneralGridSizer->Add( m_txtNetAdditionalDays, 0, wxALL, 1 );
- m_staticText341 = new wxStaticText( networkTab, ID_DEFAULT, _("days (max. 10)"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText341 = new wxStaticText( networkTab, ID_DEFAULT, _("days"), wxDefaultPosition, wxDefaultSize, 0 );
networkGeneralGridSizer->Add( m_staticText341, 0, wxALL, 5 );
m_chkNetSkipImageVerification = new wxCheckBox( networkTab, ID_CHKNETSKIPIMAGEVERIFICATION, _("Skip image file verification"), wxDefaultPosition, wxDefaultSize, 0 );
diff -Nru boinc-7.0.7+dfsg/clientgui/Events.h boinc-7.0.14+dfsg/clientgui/Events.h
--- boinc-7.0.7+dfsg/clientgui/Events.h 2011-12-06 11:49:07.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/Events.h 2012-01-12 22:05:25.000000000 +0000
@@ -125,6 +125,7 @@
#define ID_TASK_WORK_SHOWGRAPHICS 9202
#define ID_TASK_WORK_ABORT 9203
#define ID_TASK_SHOW_PROPERTIES 9204
+#define ID_TASK_WORK_VMCONSOLE 9205
#define ID_TASK_TRANSFERS_RETRYNOW 9300
#define ID_TASK_TRANSFERS_ABORT 9301
#define ID_TASK_MESSAGES_COPYALL 9400
diff -Nru boinc-7.0.7+dfsg/clientgui/MainDocument.cpp boinc-7.0.14+dfsg/clientgui/MainDocument.cpp
--- boinc-7.0.7+dfsg/clientgui/MainDocument.cpp 2011-12-27 01:36:47.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/MainDocument.cpp 2012-01-15 17:55:58.000000000 +0000
@@ -1738,7 +1738,7 @@
// If graphics app is already running, don't launch a second instance
//
if (previous_gfx_app) return 0;
- argv[0] =0;
+ argv[0] = 0;
iRetVal = run_program(
result->slot_path,
@@ -1761,6 +1761,53 @@
}
+int CMainDocument::WorkShowVMConsole(RESULT* result) {
+ int iRetVal = 0;
+
+ if (strlen(result->remote_desktop_addr)) {
+ wxString strConnection(result->remote_desktop_addr, wxConvUTF8);
+ wxString strCommand;
+
+#if defined(__WXMSW__)
+ strCommand = wxT("mstsc.exe /v:") + strConnection;
+ wxExecute(strCommand);
+#elif defined(__WXGTK__)
+ strCommand = wxT("rdesktop-vrdp ") + strConnection;
+ wxExecute(strCommand);
+#elif defined(__WXMAC__)
+ FSRef theFSRef;
+ OSStatus status = noErr;
+
+ // I have found no reliable way to pass the IP address and port to Microsoft's
+ // Remote Desktop Connection application for the Mac, so I'm using CoRD.
+ // Unfortunately, CoRD does not seem as reliable as I would like either.
+ //
+ // First try to find the CoRD application by Bundle ID and Creator Code
+ status = LSFindApplicationForInfo('RDC#', CFSTR("net.sf.cord"),
+ NULL, &theFSRef, NULL);
+ if (status != noErr) {
+ CBOINCBaseFrame* pFrame = wxGetApp().GetFrame();
+ if (pFrame) {
+ pFrame->ShowAlert(
+ _("Missing application"),
+ _("Please download and install the CoRD application from http://cord.sourceforge.net"),
+ wxOK | wxICON_INFORMATION,
+ false
+ );
+ }
+ return ERR_FILE_MISSING;
+ }
+
+ strCommand = wxT("osascript -e 'tell application \"CoRD\"' -e 'activate' -e 'open location \"rdp://") + strConnection + wxT("\"' -e 'end tell'");
+ strCommand.Replace(wxT("localhost"), wxT("127.0.0.1"));
+ system(strCommand.char_str());
+#endif
+ }
+
+ return iRetVal;
+}
+
+
int CMainDocument::WorkAbort(char* url, char* name) {
int iRetVal = 0;
diff -Nru boinc-7.0.7+dfsg/clientgui/MainDocument.h boinc-7.0.14+dfsg/clientgui/MainDocument.h
--- boinc-7.0.7+dfsg/clientgui/MainDocument.h 2011-06-23 09:15:40.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/MainDocument.h 2012-01-12 22:05:25.000000000 +0000
@@ -270,6 +270,7 @@
int WorkSuspend(char* url, char* name);
int WorkResume(char* url, char* name);
int WorkShowGraphics(RESULT* result);
+ int WorkShowVMConsole(RESULT* result);
int WorkAbort(char* url, char* name);
CC_STATE* GetState() { return &state; };
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/res/progress.ico and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/res/progress.ico differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/res/ProgThruProc.icns and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/res/ProgThruProc.icns differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/res/PTP_install.icns and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/res/PTP_install.icns differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/res/PTP_uninstall.icns and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/res/PTP_uninstall.icns differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/app_icon_16x16.gif and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/app_icon_16x16.gif differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/app_icon_48x48.gif and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/app_icon_48x48.gif differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwLeftClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwLeftClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwLeft.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwLeft.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwRightClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwRightClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwRight.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/arwRight.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAddProjectClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAddProjectClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAddProject.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAddProject.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAdvancedView.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAdvancedView.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAdvancedView.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnAdvancedView.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCancelClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCancelClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCancel.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCancel.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnChangeClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnChangeClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnChange.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnChange.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnClearClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnClearClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnClear.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnClear.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCloseClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCloseClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnClose.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnClose.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopyAllClicked.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopyAllClicked.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopyAll.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopyAll.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopyClicked.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopyClicked.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopy.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnCopy.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnHelpClicked.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnHelpClicked.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnHelp.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnHelp.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessagesAlert.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessagesAlert.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessages.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessages.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessagesOrange.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessagesOrange.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessages.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnMessages.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnPreferences.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnPreferences.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnPreferences.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnPreferences.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnResume.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnResume.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSaveClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSaveClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSave.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSave.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSnooze.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSnooze.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSynchronizeClick.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSynchronizeClick.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSynchronize.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSynchronize.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSynchronize.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/btnSynchronize.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/conn_ind.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/conn_ind.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/default_stat_icon.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/default_stat_icon.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/disable_tab.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/disable_tab.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/dlgBackground.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/dlgBackground.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/error_image.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/error_image.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gauge_bg.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gauge_bg.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gauge_progress_indicator.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gauge_progress_indicator.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_background.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_background.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_icon_play.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_icon_play.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid1_bg.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid1_bg.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid1_bg.PNG and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid1_bg.PNG differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid_bg.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid_bg.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid_bg.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/grid_bg.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_pause.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_pause.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_play.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_play.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_stop.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_stop.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_wizard_bar.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/gr_wizard_bar.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ico_workWU.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ico_workWU.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ico_workWU_sus.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ico_workWU_sus.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/proj_bg.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/proj_bg.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/project_image.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/project_image.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_background.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_background.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_icon_play.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_icon_play.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_pause.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_pause.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_play.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_play.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_stop.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_stop.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_wizard_bar.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/ptp_wizard_bar.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/PTP_wizard.bmp and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/PTP_wizard.bmp differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/simplegui_bg.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/simplegui_bg.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/spacer.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/spacer.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/state_ind_bg.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/state_ind_bg.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/suspend_button.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/suspend_button.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/tabArea_bg.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/tabArea_bg.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/tab_back_next.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/tab_back_next.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/tab_disable.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/tab_disable.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/tab_rollover.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/tab_rollover.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_animation_background.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_animation_background.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_animation_background.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_animation_background.png differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_gauge_background_image.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_gauge_background_image.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_tab_area_background.jpg and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/workunit_tab_area_background.jpg differ
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/graphic/wu_bg.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/graphic/wu_bg.png differ
diff -Nru boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/skin.xml boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/skin.xml
--- boinc-7.0.7+dfsg/clientgui/skins/Progress Thru Processors/skin.xml 2011-10-24 18:06:14.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/skins/Progress Thru Processors/skin.xml 2011-12-14 10:18:01.000000000 +0000
@@ -1,256 +1,261 @@
-
-
-
-
-
-
-
-
- graphic/grid_bg.png
- 0:180:241
-
-
-
-
- graphic/spacer.png
-
-
- 0:125:198
-
-
- graphic/state_ind_bg.png
-
-
-
-
- graphic/conn_ind.png
-
-
-
-
- graphic/error_image.png
-
-
-
-
- graphic/ico_workWU.png
- 206:207:207
- 208:208:208
- 200:200:200
-
-
-
-
- graphic/ico_workWU_sus.png
- 134:149:158
- 167:167:167
- 125:141:151
-
-
-
-
- graphic/tabArea_bg.png
-
-
-
-
- graphic/wu_bg.png
-
-
-
-
- graphic/project_image.png
-
-
-
-
- graphic/workunit_animation_background.png
-
-
-
-
- graphic/gauge_bg.png
-
-
-
-
- graphic/gauge_progress_indicator.png
-
-
-
-
- graphic/proj_bg.png
-
-
-
-
- graphic/default_stat_icon.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- graphic/btnMessages.png
-
-
-
-
- graphic/btnMessagesOrange.gif
-
-
-
-
- graphic/btnSnooze.png
-
-
-
-
- graphic/btnResume.gif
-
-
-
-
- graphic/btnPreferences.png
-
-
-
-
- graphic/btnAdvancedView.png
-
-
-
-
- graphic/grid1_bg.png
-
-
-
-
-
-
- Progress Thru Processors Desktop
- Progress Thru Processors
-
-
-
- graphic/app_icon_16x16.gif
- 0:0:0
-
-
-
-
-
- graphic/app_icon_16x16.gif
- 0:0:0
-
-
-
-
-
- graphic/app_icon_16x16.gif
- 0:0:0
-
-
-
- Progress Thru Processors
-
- http://www.gridrepublic.org
- http://www.gridrepublic.org/index.php?param=contact
-
-
- 0
- This will shut down Progress Thru Processors and its tasks entirely
- until Progress Thru Processors Desktop is run again.
-
- In most cases, it is better to avoid exiting the program. Instead
- simply close the Progress Thru Processors Desktop Window.
-
-
-
-
-
- Progress Thru Processors Desktop - Attach to Project
-
- graphic/gr_wizard_bar.png
-
-
-
- Progress Thru Processors Desktop - Attach to Account Manager/Update Account Manager
-
- graphic/gr_wizard_bar.png
-
-
-
-
-
+
+
+
+
+
+
+
+
+ graphic/simplegui_bg.png
+ 16:46:80
+
+
+
+
+ graphic/spacer.png
+
+
+ 38:172:226
+
+
+ graphic/state_ind_bg.png
+
+
+
+
+ graphic/conn_ind.png
+
+
+
+
+ graphic/error_image.png
+
+
+
+
+ graphic/ico_workWU.png
+ 20:113:185
+ 20:113:185
+ 20:113:185
+
+
+
+
+ graphic/ico_workWU_sus.png
+ 17:71:126
+ 17:71:126
+ 17:71:126
+
+
+
+
+ graphic/tabArea_bg.png
+
+
+
+
+ graphic/wu_bg.png
+
+
+
+
+ graphic/project_image.png
+
+
+
+
+ graphic/ptp_background.png
+
+
+
+
+ graphic/gauge_bg.png
+
+
+
+
+ graphic/gauge_progress_indicator.png
+
+
+
+
+ graphic/proj_bg.png
+
+
+
+
+ graphic/default_stat_icon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ graphic/btnMessages.png
+
+
+
+
+ graphic/btnMessagesAlert.png
+
+
+
+
+ graphic/btnSnooze.png
+
+
+
+
+ graphic/btnResume.png
+
+
+
+
+ graphic/btnPreferences.png
+
+
+
+
+ graphic/btnAdvancedView.png
+
+
+
+
+ graphic/dlgBackground.png
+
+
+
+
+
+
+ Progress Thru Processors Desktop
+ Progress Thru Processors
+
+
+
+ graphic/ptp_icon_play.png
+
+
+
+
+
+ graphic/ptp_stop.png
+
+
+
+
+
+ graphic/ptp_pause.png
+
+
+
+ graphic/ptp_about.ico
+
+ Progress Thru Processors
+
+ http://www.facebook.com/progressthruprocessors
+ mailto:mlb@gridrepublic.org
+
+
+ 0
+ This will shut down Progress Thru Processors and its tasks entirely
+ until Progress Thru Processors Desktop is run again.
+
+ In most cases, it is better to avoid exiting the program. Instead
+ simply close the Progress Thru Processors Desktop Window.
+
+
+
+
+
+ Progress Thru Processors Desktop - Attach to Project
+
+ graphic/ptp_wizard_bar.png
+
+
+
+
+
+ graphic/ptp_wizard_bar.png
+
+
+
+
+
\ No newline at end of file
diff -Nru boinc-7.0.7+dfsg/clientgui/stdwx.h boinc-7.0.14+dfsg/clientgui/stdwx.h
--- boinc-7.0.7+dfsg/clientgui/stdwx.h 2011-12-14 16:54:50.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/stdwx.h 2012-01-25 11:51:31.000000000 +0000
@@ -115,7 +115,6 @@
#include
#include
#include
-#include // splitter control support
#ifdef _WIN32
// Visual Studio 2005 has extended the C Run-Time Library by including "secure"
diff -Nru boinc-7.0.7+dfsg/clientgui/ViewNotices.cpp boinc-7.0.14+dfsg/clientgui/ViewNotices.cpp
--- boinc-7.0.7+dfsg/clientgui/ViewNotices.cpp 2011-12-14 16:54:50.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/ViewNotices.cpp 2012-01-06 23:37:40.000000000 +0000
@@ -51,10 +51,18 @@
//
// Setup View
//
+ wxFlexGridSizer* itemFlexGridSizer = new wxFlexGridSizer(1, 1, 0);
+ wxASSERT(itemFlexGridSizer);
+
+ itemFlexGridSizer->AddGrowableRow(0);
+ itemFlexGridSizer->AddGrowableCol(0);
+
m_pHtmlListPane = new CNoticeListCtrl(this);
wxASSERT(m_pHtmlListPane);
- Initialize(m_pHtmlListPane);
+ itemFlexGridSizer->Add(m_pHtmlListPane, 1, wxGROW|wxALL, 1);
+
+ SetSizer(itemFlexGridSizer);
}
diff -Nru boinc-7.0.7+dfsg/clientgui/ViewResources.cpp boinc-7.0.14+dfsg/clientgui/ViewResources.cpp
--- boinc-7.0.7+dfsg/clientgui/ViewResources.cpp 2011-12-14 16:54:50.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/ViewResources.cpp 2012-01-27 19:24:20.000000000 +0000
@@ -47,14 +47,11 @@
{
m_BOINCwasEmpty=false;
- wxPanel* pPanel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
- wxASSERT(pPanel);
-
wxGridSizer* itemGridSizer = new wxGridSizer(2, 0, 3);
wxASSERT(itemGridSizer);
// create pie chart ctrl for total disk usage
- m_pieCtrlTotal = new wxPieCtrl(pPanel, ID_PIECTRL_RESOURCEUTILIZATIONVIEWTOTAL, wxDefaultPosition, wxDefaultSize);
+ m_pieCtrlTotal = new wxPieCtrl(this, ID_PIECTRL_RESOURCEUTILIZATIONVIEWTOTAL, wxDefaultPosition, wxDefaultSize);
wxASSERT(m_pieCtrlTotal);
// setup the legend
@@ -75,7 +72,7 @@
// create pie chart ctrl for BOINC disk usage
- m_pieCtrlBOINC = new wxPieCtrl(pPanel, ID_PIECTRL_RESOURCEUTILIZATIONVIEW, wxDefaultPosition, wxDefaultSize);
+ m_pieCtrlBOINC = new wxPieCtrl(this, ID_PIECTRL_RESOURCEUTILIZATIONVIEW, wxDefaultPosition, wxDefaultSize);
wxASSERT(m_pieCtrlBOINC);
//setup the legend
@@ -98,10 +95,7 @@
itemGridSizer->Add(m_pieCtrlTotal, 1, wxGROW|wxALL,1);
itemGridSizer->Add(m_pieCtrlBOINC, 1, wxGROW|wxALL,1);
- pPanel->SetSizer(itemGridSizer);
- pPanel->Layout();
-
- Initialize(pPanel);
+ SetSizer(itemGridSizer);
UpdateSelection();
}
@@ -171,6 +165,24 @@
return true;
}
+void hsv2rgb(double h, double s, double v, double& r, double& g, double& b) {
+ double m, n, f;
+ int i = floor(h);
+ f = h - i;
+ if (!(i&1)) f = 1 - f;
+ m = v * (1 - s);
+ n = v * (1 - s*f);
+ switch (i) {
+ case 6:
+ case 0: r = v; g = n; b = m; return;
+ case 1: r = n; g = v; b = m; return;
+ case 2: r = m; g = v; b = n; return;
+ case 3: r = m; g = n; b = v; return;
+ case 4: r = n; g = m; b = v; return;
+ case 5: r = v; g = m; b = n; return;
+ }
+}
+
void CViewResources::OnListRender( wxTimerEvent& WXUNUSED(event) ) {
CMainDocument* pDoc = wxGetApp().GetDocument();
wxString diskspace;
@@ -216,10 +228,15 @@
wxPiePart part;
part.SetLabel(projectname + wxT(": ") + diskspace);
part.SetValue(usage);
- unsigned char r=128+(rand()&127);
- unsigned char g=128+(rand()&127);
- unsigned char b=128+(rand()&127);
- part.SetColour(wxColour(r, g, b));
+ double h = (double)i/(double)pDoc->disk_usage.projects.size();
+ double r, g, b;
+ double v = .5 + (i % 3)*.2;
+ // cycle through 3 different brightnesses
+ hsv2rgb(h*6, .5, v, r, g, b);
+ unsigned char cr = (unsigned char) (r*256);
+ unsigned char cg = (unsigned char) (g*256);
+ unsigned char cb = (unsigned char) (b*256);
+ part.SetColour(wxColour(cr, cg, cb));
m_pieCtrlBOINC->m_Series.Add(part);
}
m_pieCtrlBOINC->Refresh();
diff -Nru boinc-7.0.7+dfsg/clientgui/ViewStatistics.cpp boinc-7.0.14+dfsg/clientgui/ViewStatistics.cpp
--- boinc-7.0.7+dfsg/clientgui/ViewStatistics.cpp 2011-12-14 16:54:50.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/ViewStatistics.cpp 2012-01-06 17:12:19.000000000 +0000
@@ -1940,13 +1940,24 @@
//
// Setup View
//
+ wxFlexGridSizer* itemFlexGridSizer = new wxFlexGridSizer(2, 0, 0);
+ wxASSERT(itemFlexGridSizer);
+
+ itemFlexGridSizer->AddGrowableRow(0);
+ itemFlexGridSizer->AddGrowableCol(1);
+
m_pTaskPane = new CBOINCTaskCtrl(this, ID_TASK_STATISTICSVIEW, DEFAULT_TASK_FLAGS);
wxASSERT(m_pTaskPane);
m_PaintStatistics = new CPaintStatistics(this, ID_LIST_STATISTICSVIEW, wxDefaultPosition, wxSize(-1, -1), 0);
wxASSERT(m_PaintStatistics);
- SplitVertically(m_pTaskPane, m_PaintStatistics, 250);
+ itemFlexGridSizer->Add(m_pTaskPane, 1, wxGROW|wxALL, 1);
+ itemFlexGridSizer->Add(m_PaintStatistics, 1, wxGROW|wxALL, 1);
+
+ SetSizer(itemFlexGridSizer);
+
+ Layout();
pGroup = new CTaskItemGroup( _("Commands") );
m_TaskGroups.push_back( pGroup );
diff -Nru boinc-7.0.7+dfsg/clientgui/ViewWork.cpp boinc-7.0.14+dfsg/clientgui/ViewWork.cpp
--- boinc-7.0.7+dfsg/clientgui/ViewWork.cpp 2011-12-27 01:36:47.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/ViewWork.cpp 2012-01-13 19:26:24.000000000 +0000
@@ -52,9 +52,10 @@
// buttons in the "tasks" area
#define BTN_ACTIVE_ONLY 0
#define BTN_GRAPHICS 1
-#define BTN_SUSPEND 2
-#define BTN_ABORT 3
-#define BTN_PROPERTIES 4
+#define BTN_VMCONSOLE 2
+#define BTN_SUSPEND 3
+#define BTN_ABORT 4
+#define BTN_PROPERTIES 5
CWork::CWork() {
@@ -83,6 +84,7 @@
BEGIN_EVENT_TABLE (CViewWork, CBOINCBaseView)
EVT_BUTTON(ID_TASK_WORK_SUSPEND, CViewWork::OnWorkSuspend)
EVT_BUTTON(ID_TASK_WORK_SHOWGRAPHICS, CViewWork::OnWorkShowGraphics)
+ EVT_BUTTON(ID_TASK_WORK_VMCONSOLE, CViewWork::OnWorkShowVMConsole)
EVT_BUTTON(ID_TASK_WORK_ABORT, CViewWork::OnWorkAbort)
EVT_BUTTON(ID_TASK_SHOW_PROPERTIES, CViewWork::OnShowItemProperties)
EVT_BUTTON(ID_TASK_ACTIVE_ONLY, CViewWork::OnActiveTasksOnly)
@@ -195,6 +197,13 @@
pGroup->m_Tasks.push_back( pItem );
pItem = new CTaskItem(
+ _("Show VM Console"),
+ _("Show VM Console in a window."),
+ ID_TASK_WORK_VMCONSOLE
+ );
+ pGroup->m_Tasks.push_back( pItem );
+
+ pItem = new CTaskItem(
_("Suspend"),
_("Suspend work for this result."),
ID_TASK_WORK_SUSPEND
@@ -361,6 +370,7 @@
wxLogTrace(wxT("Function Start/End"), wxT("CViewWork::OnWorkSuspend - Function End"));
}
+
void CViewWork::OnWorkShowGraphics( wxCommandEvent& WXUNUSED(event) ) {
wxLogTrace(wxT("Function Start/End"), wxT("CViewWork::OnWorkShowGraphics - Function Begin"));
@@ -398,6 +408,43 @@
}
+void CViewWork::OnWorkShowVMConsole( wxCommandEvent& WXUNUSED(event) ) {
+ wxLogTrace(wxT("Function Start/End"), wxT("CViewWork::OnWorkShowVMConsole - Function Begin"));
+
+ CMainDocument* pDoc = wxGetApp().GetDocument();
+ CAdvancedFrame* pFrame = wxDynamicCast(GetParent()->GetParent()->GetParent(), CAdvancedFrame);
+ RESULT* result;
+ int row;
+
+ wxASSERT(pDoc);
+ wxASSERT(wxDynamicCast(pDoc, CMainDocument));
+ wxASSERT(pFrame);
+ wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame));
+ wxASSERT(m_pListPane);
+
+ pFrame->UpdateStatusText(_("Showing VM console for task..."));
+
+ row = -1;
+ while (1) {
+ // Step through all selected items
+ row = m_pListPane->GetNextItem(row, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
+ if (row < 0) break;
+
+ result = pDoc->result(m_iSortedIndexes[row]);
+ if (result) {
+ pDoc->WorkShowVMConsole(result);
+ }
+ }
+
+ pFrame->UpdateStatusText(wxT(""));
+
+ UpdateSelection();
+ pFrame->FireRefreshView();
+
+ wxLogTrace(wxT("Function Start/End"), wxT("CViewWork::OnWorkShowVMConsole - Function End"));
+}
+
+
void CViewWork::OnWorkAbort( wxCommandEvent& WXUNUSED(event) ) {
wxLogTrace(wxT("Function Start/End"), wxT("CViewWork::OnWorkAbort - Function Begin"));
@@ -671,8 +718,10 @@
CMainDocument* pDoc = wxGetApp().GetDocument();
std::string first_project_url;
wxString strMachineName;
- bool wasSuspended=false, all_same_project=false;
+ bool wasSuspended=false;
+ bool all_same_project=false;
bool enableShowGraphics = false;
+ bool enableShowVMConsole = false;
bool enableSuspendResume = false;
bool enableAbort = false;
bool enableProperties = false;
@@ -688,17 +737,20 @@
n = m_pListPane->GetSelectedItemCount();
if (n > 0) {
enableShowGraphics = true;
+ enableShowVMConsole = true;
enableSuspendResume = true;
enableAbort = true;
pDoc->GetCoreClientStatus(status);
if (status.task_suspend_reason & ~(SUSPEND_REASON_CPU_THROTTLE)) {
enableShowGraphics = false;
+ enableShowVMConsole = false;
}
pDoc->GetConnectedComputerName(strMachineName);
if (!pDoc->IsComputerNameLocal(strMachineName)) {
enableShowGraphics = false;
+ enableShowVMConsole = false;
}
}
@@ -747,17 +799,24 @@
}
}
+ // Disable Show VM console if the selected task hasn't registered a remote
+ // desktop connection
+ //
+ if (!strlen(result->remote_desktop_addr)) {
+ enableShowVMConsole = false;
+ }
+
// Disable Show Graphics button if the selected task can't display graphics
//
if (!strlen(result->web_graphics_url) && !strlen(result->graphics_exec_path)) {
- enableShowGraphics = false;
+ enableShowGraphics = false;
}
if (result->suspended_via_gui ||
result->project_suspended_via_gui ||
(result->scheduler_state != CPU_SCHED_SCHEDULED)
) {
- enableShowGraphics = false;
+ enableShowGraphics = false;
}
// Disable Abort button if any selected task already aborted
@@ -785,6 +844,13 @@
// To minimize flicker, set each button only once to the final desired state
pGroup->m_Tasks[BTN_GRAPHICS]->m_pButton->Enable(enableShowGraphics);
+ if (enableShowVMConsole) {
+ pGroup->m_Tasks[BTN_VMCONSOLE]->m_pButton->Enable();
+ pGroup->m_Tasks[BTN_VMCONSOLE]->m_pButton->Show();
+ } else {
+ pGroup->m_Tasks[BTN_VMCONSOLE]->m_pButton->Disable();
+ pGroup->m_Tasks[BTN_VMCONSOLE]->m_pButton->Hide();
+ }
pGroup->m_Tasks[BTN_SUSPEND]->m_pButton->Enable(enableSuspendResume);
pGroup->m_Tasks[BTN_ABORT]->m_pButton->Enable(enableAbort);
pGroup->m_Tasks[BTN_PROPERTIES]->m_pButton->Enable(enableProperties);
diff -Nru boinc-7.0.7+dfsg/clientgui/ViewWork.h boinc-7.0.14+dfsg/clientgui/ViewWork.h
--- boinc-7.0.7+dfsg/clientgui/ViewWork.h 2010-05-07 16:14:54.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/ViewWork.h 2012-01-12 22:05:25.000000000 +0000
@@ -69,6 +69,7 @@
void OnWorkSuspend( wxCommandEvent& event );
void OnWorkShowGraphics( wxCommandEvent& event );
+ void OnWorkShowVMConsole( wxCommandEvent& event );
void OnWorkAbort( wxCommandEvent& event );
void OnShowItemProperties( wxCommandEvent& event );
void OnActiveTasksOnly( wxCommandEvent& event );
diff -Nru boinc-7.0.7+dfsg/clientgui/WizardAttach.cpp boinc-7.0.14+dfsg/clientgui/WizardAttach.cpp
--- boinc-7.0.7+dfsg/clientgui/WizardAttach.cpp 2011-06-15 21:00:02.000000000 +0000
+++ boinc-7.0.14+dfsg/clientgui/WizardAttach.cpp 2011-12-20 11:49:12.000000000 +0000
@@ -516,8 +516,8 @@
if (m_PageTransition.size() > 0) {
pPage = m_PageTransition.top();
m_PageTransition.pop();
- if ((pPage == m_ProjectPropertiesPage) || (pPage == m_ProjectProcessingPage) ||
- (pPage == m_AccountManagerPropertiesPage) || (pPage == m_AccountManagerProcessingPage))
+ if ((pPage == m_ProjectProcessingPage) ||
+ (pPage == m_AccountManagerProcessingPage))
{
// We want to go back to the page before we attempted to communicate
// with any server.
Binary files /tmp/iJY7GkV030/boinc-7.0.7+dfsg/clientscr/res/ProgThruProc_ss_logo.png and /tmp/9iS1KlyrUc/boinc-7.0.14+dfsg/clientscr/res/ProgThruProc_ss_logo.png differ
diff -Nru boinc-7.0.7+dfsg/clientscr/screensaver.cpp boinc-7.0.14+dfsg/clientscr/screensaver.cpp
--- boinc-7.0.7+dfsg/clientscr/screensaver.cpp 2011-12-27 21:02:38.000000000 +0000
+++ boinc-7.0.14+dfsg/clientscr/screensaver.cpp 2012-01-29 07:25:55.000000000 +0000
@@ -84,6 +84,7 @@
// Count the number of active graphics-capable apps excluding the specified result.
// If exclude is NULL, don't exclude any results.
+ //
for (i = 0; i < results.results.size(); i++) {
BOINCTRACE(_T("get_random_graphics_app -- active task detected\n"));
BOINCTRACE(
@@ -105,7 +106,9 @@
// Exclude the specified result unless it is the only candidate.
// If exclude is NULL or an empty string, don't exclude any results.
//
-RESULT* CScreensaver::get_random_graphics_app(RESULTS& results, RESULT* exclude) {
+RESULT* CScreensaver::get_random_graphics_app(
+ RESULTS& results, RESULT* exclude
+) {
RESULT* rp = NULL;
unsigned int i = 0;
unsigned int graphics_app_count = 0;
@@ -130,10 +133,12 @@
}
// Choose which application to display.
+ //
random_selection = (rand() % graphics_app_count) + 1;
BOINCTRACE(_T("get_random_graphics_app -- random_selection = '%d'\n"), random_selection);
- // Lets find the chosen graphics application.
+ // find the chosen graphics application.
+ //
for (i = 0; i < results.results.size(); i++) {
if (!strlen(results.results[i]->graphics_exec_path)) continue;
if (is_same_task(results.results[i], avoid)) continue;
@@ -155,11 +160,10 @@
// Launch a project (science) graphics application
//
#ifdef _WIN32
-int CScreensaver::launch_screensaver(RESULT* rp, HANDLE& graphics_application)
+int CScreensaver::launch_screensaver(RESULT* rp, HANDLE& graphics_application) {
#else
-int CScreensaver::launch_screensaver(RESULT* rp, int& graphics_application)
+int CScreensaver::launch_screensaver(RESULT* rp, int& graphics_application) {
#endif
-{
int retval = 0;
if (strlen(rp->graphics_exec_path)) {
// V6 Graphics
@@ -209,11 +213,10 @@
// Terminate any screensaver graphics application
//
#ifdef _WIN32
-int CScreensaver::terminate_v6_screensaver(HANDLE& graphics_application)
+int CScreensaver::terminate_v6_screensaver(HANDLE& graphics_application) {
#else
-int CScreensaver::terminate_v6_screensaver(int& graphics_application)
+int CScreensaver::terminate_v6_screensaver(int& graphics_application) {
#endif
-{
int retval = 0;
#ifdef __APPLE__
@@ -237,7 +240,7 @@
argv[2] = gfx_pid;
argv[3] = 0;
- retval = run_program(
+ retval = run_program(
current_dir,
m_gfx_Switcher_Path,
3,
@@ -276,11 +279,10 @@
// Terminate the project (science) graphics application
//
#ifdef _WIN32
-int CScreensaver::terminate_screensaver(HANDLE& graphics_application, RESULT *worker_app)
+int CScreensaver::terminate_screensaver(HANDLE& graphics_application, RESULT *worker_app) {
#else
-int CScreensaver::terminate_screensaver(int& graphics_application, RESULT *worker_app)
+int CScreensaver::terminate_screensaver(int& graphics_application, RESULT *worker_app) {
#endif
-{
int retval = 0;
if (graphics_application) {
@@ -296,11 +298,10 @@
// Launch the default graphics application
//
#ifdef _WIN32
-int CScreensaver::launch_default_screensaver(char *dir_path, HANDLE& graphics_application)
+int CScreensaver::launch_default_screensaver(char *dir_path, HANDLE& graphics_application) {
#else
-int CScreensaver::launch_default_screensaver(char *dir_path, int& graphics_application)
+int CScreensaver::launch_default_screensaver(char *dir_path, int& graphics_application) {
#endif
-{
int retval = 0;
int num_args;
@@ -323,7 +324,7 @@
num_args = 4;
}
- retval = run_program(
+ retval = run_program(
dir_path,
m_gfx_Switcher_Path,
num_args,
@@ -377,11 +378,10 @@
// Terminate the default graphics application
//
#ifdef _WIN32
-int CScreensaver::terminate_default_screensaver(HANDLE& graphics_application)
+int CScreensaver::terminate_default_screensaver(HANDLE& graphics_application) {
#else
-int CScreensaver::terminate_default_screensaver(int& graphics_application)
+int CScreensaver::terminate_default_screensaver(int& graphics_application) {
#endif
-{
int retval = 0;
if (! graphics_application) return 0;
@@ -401,11 +401,10 @@
// and so we run only project (science) graphics.
#ifdef _WIN32
-DWORD WINAPI CScreensaver::DataManagementProc()
+DWORD WINAPI CScreensaver::DataManagementProc() {
#else
-void *CScreensaver::DataManagementProc()
+void *CScreensaver::DataManagementProc() {
#endif
-{
int retval = 0;
int suspend_reason = 0;
RESULT* theResult = NULL;
@@ -474,7 +473,6 @@
}
while (true) {
-
for (int i = 0; i < 4; i++) {
// ***
// *** Things that should be run frequently.
@@ -698,7 +696,9 @@
}
} // End if (m_bScience_gfx_running)
- // If no current graphics app, pick an active task at random and launch its graphics app
+ // If no current graphics app, pick an active task at random
+ // and launch its graphics app
+ //
if ((m_bDefault_gfx_running || (m_hGraphicsApplication == 0)) && (graphics_app_result_ptr == NULL)) {
graphics_app_result_ptr = get_random_graphics_app(results, previous_result_ptr);
previous_result_ptr = NULL;
@@ -714,7 +714,8 @@
// dtime(), default_saver_start_time_in_science_phase, default_saver_duration_in_science_phase);
}
default_saver_start_time_in_science_phase = 0;
- // HasProcessExited() test will clear m_hGraphicsApplication and graphics_app_result_ptr
+ // HasProcessExited() test will clear
+ // m_hGraphicsApplication and graphics_app_result_ptr
} else {
retval = launch_screensaver(graphics_app_result_ptr, m_hGraphicsApplication);
if (retval) {
@@ -723,7 +724,9 @@
graphics_app_result_ptr = NULL;
m_bScience_gfx_running = false;
} else {
- SetError(FALSE, SCRAPPERR_BOINCSCREENSAVERLOADING); // A GFX App is running: hide moving BOINC logo
+ // A GFX App is running: hide moving BOINC logo
+ //
+ SetError(FALSE, SCRAPPERR_BOINCSCREENSAVERLOADING);
last_change_time = dtime();
m_bScience_gfx_running = true;
// Make a local copy of current result, since original pointer
@@ -760,11 +763,13 @@
previous_result_ptr = NULL;
graphics_app_result_ptr = NULL;
m_bDefault_gfx_running = false;
- SetError(TRUE, SCRAPPERR_CANTLAUNCHDEFAULTGFXAPP); // No GFX App is running: show BOINC logo
+ SetError(TRUE, SCRAPPERR_CANTLAUNCHDEFAULTGFXAPP);
+ // No GFX App is running: show BOINC logo
} else {
m_bDefault_gfx_running = true;
default_saver_start_time_in_science_phase = dtime();
- SetError(FALSE, SCRAPPERR_BOINCSCREENSAVERLOADING); // Default GFX App is running: hide moving BOINC logo
+ SetError(FALSE, SCRAPPERR_BOINCSCREENSAVERLOADING);
+ // Default GFX App is running: hide moving BOINC logo
}
}
}
@@ -779,20 +784,25 @@
// application. Start a different one.
BOINCTRACE(_T("CScreensaver::DataManagementProc - Graphics application isn't running, start a new one.\n"));
if (m_bDefault_gfx_running) {
- // If we were able to connect to core client but gfx app can't, don't use it.
+ // If we were able to connect to core client
+ // but gfx app can't, don't use it.
+ //
BOINCTRACE(_T("CScreensaver::DataManagementProc - Default graphics application exited with code %d.\n"), exit_status);
if (!killing_default_gfx) { // If this is an unexpected exit
if (exit_status == DEFAULT_GFX_CANT_CONNECT) {
- SetError(TRUE, SCRAPPERR_DEFAULTGFXAPPCANTCONNECT); // No GFX App is running: show moving BOINC logo
+ SetError(TRUE, SCRAPPERR_DEFAULTGFXAPPCANTCONNECT);
+ // No GFX App is running: show moving BOINC logo
} else {
- SetError(TRUE, SCRAPPERR_DEFAULTGFXAPPCRASHED); // No GFX App is running: show moving BOINC logo
+ SetError(TRUE, SCRAPPERR_DEFAULTGFXAPPCRASHED);
+ // No GFX App is running: show moving BOINC logo
}
m_bDefault_ss_exists = false;
ss_phase = SCIENCE_SS_PHASE;
}
killing_default_gfx = false;
}
- SetError(TRUE, SCRAPPERR_BOINCNOGRAPHICSAPPSEXECUTING); // No GFX App is running: show moving BOINC logo
+ SetError(TRUE, SCRAPPERR_BOINCNOGRAPHICSAPPSEXECUTING);
+ // No GFX App is running: show moving BOINC logo
m_hGraphicsApplication = 0;
graphics_app_result_ptr = NULL;
m_bDefault_gfx_running = false;
@@ -831,8 +841,7 @@
#endif
-void CScreensaver::GetDefaultDisplayPeriods(struct ss_periods &periods)
-{
+void CScreensaver::GetDefaultDisplayPeriods(struct ss_periods &periods) {
char* default_data_dir_path = NULL;
char buf[1024];
FILE* f;
@@ -859,15 +868,19 @@
mf.init_file(f);
XML_PARSER xp(&mf);
- while (mf.fgets(buf, sizeof(buf))) {
- if (parse_bool(buf, "default_ss_first", periods.Show_default_ss_first)) continue;
- if (parse_double(buf, "", periods.GFXDefaultPeriod)) continue;
- if (parse_double(buf, "", periods.GFXSciencePeriod)) continue;
- if (parse_double(buf, "", periods.GFXChangePeriod)) continue;
-
+ while (!xp.get_tag()) {
+ if (xp.parse_bool("default_ss_first", periods.Show_default_ss_first)) continue;
+ if (xp.parse_double("default_gfx_duration", periods.GFXDefaultPeriod)) continue;
+ if (xp.parse_double("science_gfx_duration", periods.GFXSciencePeriod)) continue;
+ if (xp.parse_double("science_gfx_change_interval", periods.GFXChangePeriod)) continue;
}
fclose(f);
- BOINCTRACE(_T("CScreensaver::GetDefaultDisplayPeriods: m_bShow_default_ss_first=%d, m_fGFXDefaultPeriod=%f, m_fGFXSciencePeriod=%f, m_fGFXChangePeriod=%f\n"),
- (int)periods.Show_default_ss_first, periods.GFXDefaultPeriod, periods.GFXSciencePeriod, periods.GFXChangePeriod);
+ BOINCTRACE(
+ _T("CScreensaver::GetDefaultDisplayPeriods: m_bShow_default_ss_first=%d, m_fGFXDefaultPeriod=%f, m_fGFXSciencePeriod=%f, m_fGFXChangePeriod=%f\n"),
+ (int)periods.Show_default_ss_first,
+ periods.GFXDefaultPeriod,
+ periods.GFXSciencePeriod,
+ periods.GFXChangePeriod
+ );
}
diff -Nru boinc-7.0.7+dfsg/configure.ac boinc-7.0.14+dfsg/configure.ac
--- boinc-7.0.7+dfsg/configure.ac 2011-12-30 17:44:49.000000000 +0000
+++ boinc-7.0.14+dfsg/configure.ac 2012-02-02 19:57:12.000000000 +0000
@@ -1,12 +1,12 @@
dnl -*- autoconf -*-
-dnl $Id: configure.ac 24950 2011-12-30 17:44:49Z romw $
+dnl $Id: configure.ac 25190 2012-02-02 19:57:12Z romw $
dnl not sure exactly what the minimum version is (but 2.13 wont work)
AC_PREREQ(2.58)
dnl Set the BOINC version here. You can also use the set-version script.
-AC_INIT(BOINC, 7.0.7)
+AC_INIT(BOINC, 7.0.14)
AC_CONFIG_MACRO_DIR([m4])
LIBBOINC_VERSION=`echo ${PACKAGE_VERSION} | sed 's/\./:/g'`
AC_SUBST([LIBBOINC_VERSION])
@@ -19,8 +19,8 @@
AC_CONFIG_SRCDIR(lib/shmem.cpp)
-AC_REVISION([$Revision: 24950 $])
-REV=`echo '$Revision: 24950 $' | awk "{print $2}"`
+AC_REVISION([$Revision: 25190 $])
+REV=`echo '$Revision: 25190 $' | awk "{print $2}"`
RDATE=`date '+%Y.%m.%d'`
if test -d .svn ; then
REV=`svn info | grep Revision | awk '{print $2}'`
@@ -937,6 +937,9 @@
test/version.inc
tools/boinc_path_config.py:py/boinc_path_config.py.in
tools/Makefile
+ zip/Makefile
+ zip/zip/Makefile
+ zip/unzip/Makefile
m4/Makefile
])
diff -Nru boinc-7.0.7+dfsg/db/boinc_db.cpp boinc-7.0.14+dfsg/db/boinc_db.cpp
--- boinc-7.0.7+dfsg/db/boinc_db.cpp 2011-11-09 17:27:50.000000000 +0000
+++ boinc-7.0.14+dfsg/db/boinc_db.cpp 2012-01-30 22:39:13.000000000 +0000
@@ -86,6 +86,8 @@
working_set_removal = false;
}
void FILESET_SCHED_TRIGGER_ITEM::clear() {memset(this, 0, sizeof(*this));}
+void VDA_FILE::clear() {memset(this, 0, sizeof(*this));}
+void VDA_CHUNK_HOST::clear() {memset(this, 0, sizeof(*this));}
DB_PLATFORM::DB_PLATFORM(DB_CONN* dc) :
DB_BASE("platform", dc?dc:&boinc_db){}
@@ -147,6 +149,10 @@
DB_BASE_SPECIAL(dc?dc:&boinc_db){}
DB_FILESET_SCHED_TRIGGER_ITEM_SET::DB_FILESET_SCHED_TRIGGER_ITEM_SET(DB_CONN* dc) :
DB_BASE_SPECIAL(dc?dc:&boinc_db){}
+DB_VDA_FILE::DB_VDA_FILE(DB_CONN* dc) :
+ DB_BASE("vda_file", dc?dc:&boinc_db){}
+DB_VDA_CHUNK_HOST::DB_VDA_CHUNK_HOST(DB_CONN* dc) :
+ DB_BASE("vda_chunk_host", dc?dc:&boinc_db){}
int DB_PLATFORM::get_id() {return id;}
int DB_APP::get_id() {return id;}
@@ -163,6 +169,7 @@
int DB_FILE::get_id() {return id;}
int DB_FILESET::get_id() {return id;}
int DB_SCHED_TRIGGER::get_id() {return id;}
+int DB_VDA_FILE::get_id() {return id;}
void DB_PLATFORM::db_print(char* buf){
sprintf(buf,
@@ -782,6 +789,22 @@
return get_double(query, fpops);
}
+int DB_HOST::fpops_mean(double& mean) {
+ char query[256];
+ sprintf(query,
+ "select avg(p_fpops) from host where expavg_credit>10"
+ );
+ return get_double(query, mean);
+}
+
+int DB_HOST::fpops_stddev(double& stddev) {
+ char query[256];
+ sprintf(query,
+ "select stddev(p_fpops) from host where expavg_credit>10"
+ );
+ return get_double(query, stddev);
+}
+
void DB_WORKUNIT::db_print(char* buf){
sprintf(buf,
"create_time=%d, appid=%d, "
@@ -799,7 +822,8 @@
"priority=%d, "
"rsc_bandwidth_bound=%.15e, "
"fileset_id=%d, "
- "app_version_id=%d ",
+ "app_version_id=%d, "
+ "transitioner_flags=%d ",
create_time, appid,
name, xml_doc, batch,
rsc_fpops_est, rsc_fpops_bound, rsc_memory_bound, rsc_disk_bound,
@@ -817,7 +841,8 @@
priority,
rsc_bandwidth_bound,
fileset_id,
- app_version_id
+ app_version_id,
+ transitioner_flags
);
}
@@ -855,6 +880,7 @@
rsc_bandwidth_bound = atof(r[i++]);
fileset_id = atoi(r[i++]);
app_version_id = atoi(r[i++]);
+ transitioner_flags = atoi(r[i++]);
}
void DB_CREDITED_JOB::db_print(char* buf){
@@ -1061,7 +1087,7 @@
target_type,
multi,
workunitid,
- resultid
+ _resultid
);
}
@@ -1074,7 +1100,7 @@
target_type = atoi(r[i++]);
multi = atoi(r[i++]);
workunitid = atoi(r[i++]);
- resultid = atoi(r[i++]);
+ _resultid = atoi(r[i++]);
}
int DB_HOST_APP_VERSION::update_scheduler(DB_HOST_APP_VERSION& orig) {
@@ -1267,6 +1293,7 @@
hr_class = atoi(r[i++]);
batch = atoi(r[i++]);
app_version_id = atoi(r[i++]);
+ transitioner_flags = atoi(r[i++]);
// use safe_atoi() from here on cuz they might not be there
//
@@ -1326,6 +1353,7 @@
" wu.hr_class, "
" wu.batch, "
" wu.app_version_id, "
+ " wu.transitioner_flags, "
" res.id, "
" res.name, "
" res.report_deadline, "
@@ -1341,10 +1369,10 @@
" workunit AS wu "
" LEFT JOIN result AS res ON wu.id = res.workunitid "
"WHERE "
- " wu.transition_time < %d %s "
+ " wu.transition_time < %d %s and transitioner_flags<>%d"
"LIMIT "
" %d ",
- transition_time, mod_clause, nresult_limit
+ transition_time, mod_clause, TRANSITION_NONE, nresult_limit
);
retval = db->do_query(query);
@@ -2006,8 +2034,6 @@
for (i=0; i items;
};
+struct VDA_FILE {
+ int id;
+ char dir[256];
+ char name[256];
+ double size;
+ double chunk_size;
+ double created;
+ bool need_update;
+ bool inited;
+ void clear();
+};
+
+struct VDA_CHUNK_HOST {
+ int vda_file_id;
+ int host_id; // zero if we're waiting for a host
+ char name[256];
+ bool present_on_host;
+ bool transfer_in_progress;
+ bool transfer_wait;
+ double transition_time;
+ void clear();
+};
+
+struct DB_VDA_FILE : public DB_BASE, public VDA_FILE {
+ DB_VDA_FILE(DB_CONN* p=0);
+ int get_id();
+ void db_print(char*);
+ void db_parse(MYSQL_ROW &row);
+};
+
+struct DB_VDA_CHUNK_HOST : public DB_BASE, public VDA_CHUNK_HOST {
+ DB_VDA_CHUNK_HOST(DB_CONN* p=0);
+ void db_print(char*);
+ void db_parse(MYSQL_ROW &row);
+};
+
#endif
diff -Nru boinc-7.0.7+dfsg/db/constraints.sql boinc-7.0.14+dfsg/db/constraints.sql
--- boinc-7.0.7+dfsg/db/constraints.sql 2010-03-29 22:28:20.000000000 +0000
+++ boinc-7.0.14+dfsg/db/constraints.sql 2012-01-30 22:39:13.000000000 +0000
@@ -126,3 +126,6 @@
alter table host_app_version
add unique hap(host_id, app_version_id);
+
+alter table assignment
+ add index asgn_target(target_type, target_id);
diff -Nru boinc-7.0.7+dfsg/db/schema.sql boinc-7.0.14+dfsg/db/schema.sql
--- boinc-7.0.7+dfsg/db/schema.sql 2011-09-22 03:15:21.000000000 +0000
+++ boinc-7.0.14+dfsg/db/schema.sql 2012-01-30 22:39:13.000000000 +0000
@@ -237,12 +237,13 @@
max_error_results integer not null,
max_total_results integer not null,
max_success_results integer not null,
- result_template_file varchar(63) not null,
+ result_template_file varchar(63) not null,
priority integer not null,
mod_time timestamp,
rsc_bandwidth_bound double not null,
fileset_id integer not null,
app_version_id integer not null,
+ transitioner_flags tinyint not null,
primary key (id)
) engine=InnoDB;
@@ -366,6 +367,7 @@
workunitid integer not null,
resultid integer not null,
-- if not multi, the result
+ -- deprecated
primary key (id)
) engine = InnoDB;
diff -Nru boinc-7.0.7+dfsg/db/schema_vda.sql boinc-7.0.14+dfsg/db/schema_vda.sql
--- boinc-7.0.7+dfsg/db/schema_vda.sql 1970-01-01 00:00:00.000000000 +0000
+++ boinc-7.0.14+dfsg/db/schema_vda.sql 2012-01-23 21:59:12.000000000 +0000
@@ -0,0 +1,28 @@
+create table vda_file (
+ id integer not null auto_increment,
+ dir varchar(254) not null,
+ name varchar(254) not null,
+ size double not null default 0,
+ chunk_size double not null default 0,
+ created double not null default 0,
+ need_update tinyint not null default 0,
+ inited tinyint not null default 0,
+ primary key(id)
+) engine = InnoDB;
+
+alter table vda_file add unique(name);
+
+create table vda_chunk_host (
+ vda_file_id integer not null default 0,
+ name varchar[256] not null,
+ host_id integer not null default 0,
+ present_on_host tinyint not null default 0,
+ transfer_in_progress tinyint not null default 0,
+ transfer_wait tinyint not null default 0,
+ transition_time double not null default 0
+) engine = InnoDB;
+
+alter table vda_chunk_host
+ add index vch_file (vda_file_id),
+ add index vch_host (host_id),
+ add index vch_tt (transition_time);
diff -Nru boinc-7.0.7+dfsg/debian/boinc-client.init boinc-7.0.14+dfsg/debian/boinc-client.init
--- boinc-7.0.7+dfsg/debian/boinc-client.init 2011-12-03 11:20:21.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/boinc-client.init 2012-01-21 22:12:20.000000000 +0000
@@ -3,7 +3,7 @@
# Provides: boinc
# Required-Start: $all
# Required-Stop: $local_fs $remote_fs
-# Should-Start: x11-common, network-manager, gdm, kdm, dbus
+# Should-Start: x11-common network-manager gdm kdm dbus
# Should-Stop: x11-common
# Default-Start: 4 5
# Default-Stop: 0 1 2 3 6
diff -Nru boinc-7.0.7+dfsg/debian/boinc-server-maker.dirs boinc-7.0.14+dfsg/debian/boinc-server-maker.dirs
--- boinc-7.0.7+dfsg/debian/boinc-server-maker.dirs 2011-10-08 12:06:12.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/boinc-server-maker.dirs 2012-01-21 22:12:20.000000000 +0000
@@ -1,5 +1,6 @@
usr/lib/boinc-server/bin
usr/lib/boinc-server/tools
+usr/lib/boinc-server/sched
usr/share/boinc-server/bin
usr/share/boinc-server/lib
usr/share/boinc-server/tools
diff -Nru boinc-7.0.7+dfsg/debian/boinc-server-maker.install boinc-7.0.14+dfsg/debian/boinc-server-maker.install
--- boinc-7.0.7+dfsg/debian/boinc-server-maker.install 2011-10-31 21:34:00.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/boinc-server-maker.install 2012-01-21 22:12:20.000000000 +0000
@@ -9,6 +9,10 @@
py/Boinc/*.py usr/share/boinc-server/py/Boinc/
sched/db_dump_spec.xml usr/share/boinc-server/sched
+sched/transitioner_catchup.php usr/share/boinc-server/sched
+#where is this?
+#sched/request_file_list usr/share/boinc-server/sched
+sched/put_file usr/lib/boinc-server/sched
#test/uc_result usr/share/boinc-server/test
#test/uc_wu_nodelete usr/share/boinc-server/test
@@ -24,6 +28,12 @@
tools/appmgr usr/lib/boinc-server/tools
tools/run_in_ops usr/lib/boinc-server/tools
+tools/manage_privileges usr/share/boinc-server/tools
+tools/cancel_jobs usr/lib/boinc-server/tools
+tools/boinc_submit usr/share/boinc-server/tools
+tools/demo_submit usr/share/boinc-server/tools
+tools/demo_query usr/share/boinc-server/tools
+
#unclear
#html/user/server_status.php usr/share/boinc-server/html/user
@@ -104,3 +114,5 @@
#usr/libexec/sched usr/lib/boinc-server
+
+
diff -Nru boinc-7.0.7+dfsg/debian/boinc-server-maker.links boinc-7.0.14+dfsg/debian/boinc-server-maker.links
--- boinc-7.0.7+dfsg/debian/boinc-server-maker.links 2011-10-08 12:06:12.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/boinc-server-maker.links 2012-01-21 22:12:20.000000000 +0000
@@ -21,14 +21,15 @@
usr/lib/boinc-server/bin/wu_check usr/share/boinc-server/sched/wu_check
usr/lib/boinc-server/bin/file_upload_handler usr/share/boinc-server/sched/file_upload_handler
usr/lib/boinc-server/bin/transitioner usr/share/boinc-server/sched/transitioner
-usr/lib/boinc-server/bin/sample_bitwise_validator usr/share/boinc-server/sched/sample_bitwise_validator
-usr/lib/boinc-server/bin/sample_trivial_validator usr/share/boinc-server/sched/sample_trivial_validator
-usr/lib/boinc-server/bin/sample_dummy_assimilator usr/share/boinc-server/sched/sample_dummy_assimilator
+usr/lib/boinc-server/bin/sample_bitwise_validator usr/share/boinc-server/sched/sample_bitwise_validator
+usr/lib/boinc-server/bin/sample_trivial_validator usr/share/boinc-server/sched/sample_trivial_validator
+usr/lib/boinc-server/bin/sample_dummy_assimilator usr/share/boinc-server/sched/sample_dummy_assimilator
usr/lib/boinc-server/bin/sample_assimilator usr/share/boinc-server/sched/sample_assimilator
usr/lib/boinc-server/bin/sample_work_generator usr/share/boinc-server/sched/sample_work_generator
usr/lib/boinc-server/bin/single_job_assimilator usr/share/boinc-server/sched/single_job_assimilator
usr/lib/boinc-server/bin/assimilator.py usr/share/boinc-server/sched/assimilator.py
usr/lib/boinc-server/bin/pymw_assimilator.py usr/share/boinc-server/sched/pymw_assimilator.py
+usr/lib/boinc-server/sched/put_file usr/share/boinc-server/sched/put_file
@@ -56,5 +57,5 @@
usr/share/boinc-server/html/user/server_status.php usr/share/boinc-server/html/ops/sample_server_status.php
# annoying weakness of make_project
-# since we are shipping the apps diffrent, no need to use this.
+# we are shipping the apps separately, no need to use this.
#usr/share/boinc-server/apps/uc2 usr/share/boinc-server/samples/example_app/uc2
diff -Nru boinc-7.0.7+dfsg/debian/changelog boinc-7.0.14+dfsg/debian/changelog
--- boinc-7.0.7+dfsg/debian/changelog 2012-01-01 15:54:32.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/changelog 2012-02-03 20:28:46.000000000 +0000
@@ -1,3 +1,37 @@
+boinc (7.0.14+dfsg-1) unstable; urgency=low
+
+ * New upstream version (Closes: #658485).
+
+ -- Steffen Moeller Fri, 03 Feb 2012 21:28:27 +0100
+
+boinc (7.0.11+dfsg-1) unstable; urgency=low
+
+ * Removing ","s from "should start" line in init script (Closes: #654693)
+ with tons of thanks to Bruno Muller.
+ * New upstream version.
+ * [debian/control] corrected for strong binding of [amd64] tag
+
+ -- Steffen Moeller Fri, 20 Jan 2012 13:21:56 +0100
+
+boinc (7.0.8+dfsg-2) unstable; urgency=low
+
+ * Fixed patch for whitespace removal.
+
+ -- Steffen Moeller Mon, 16 Jan 2012 23:00:02 +0100
+
+boinc (7.0.8+dfsg-1) unstable; urgency=low
+
+ * New upstream version.
+ * Added disk space check to get-orig-source.
+
+ -- Steffen Moeller Sat, 14 Jan 2012 13:04:18 +0100
+
+boinc (7.0.7+dfsg-2) UNRELEASED; urgency=low
+
+ * boinc-server-maker: Fixing missing files for make_project.
+
+ -- Steffen Moeller Mon, 02 Jan 2012 01:56:18 +0100
+
boinc (7.0.7+dfsg-1) unstable; urgency=low
* New upstream version.
diff -Nru boinc-7.0.7+dfsg/debian/control boinc-7.0.14+dfsg/debian/control
--- boinc-7.0.7+dfsg/debian/control 2011-12-17 14:25:42.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/control 2012-01-21 22:12:20.000000000 +0000
@@ -42,7 +42,7 @@
Package: boinc-nvidia-cuda
Architecture: amd64 i386
Section: contrib/net
-Depends: ${misc:Depends}, boinc, libcuda1|nvidia-current, libcuda1-ia32|nvidia-current [amd64], ia32-libs|nvidia-current [amd64]
+Depends: ${misc:Depends}, boinc, libcuda1|nvidia-current, libcuda1-ia32 [amd64]|nvidia-current [amd64], ia32-libs [amd64]|nvidia-current [amd64]
Description: metapackage for CUDA-savvy BOINC client and manager
The Berkeley Open Infrastructure for Network Computing (BOINC) is a
software platform for distributed computing: several initiatives of
diff -Nru boinc-7.0.7+dfsg/debian/patches/erase_while_1.patch boinc-7.0.14+dfsg/debian/patches/erase_while_1.patch
--- boinc-7.0.7+dfsg/debian/patches/erase_while_1.patch 1970-01-01 00:00:00.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/patches/erase_while_1.patch 2012-01-21 22:12:20.000000000 +0000
@@ -0,0 +1,117 @@
+Index: boinc/lib/filesys.cpp
+===================================================================
+--- boinc.orig/lib/filesys.cpp 2011-12-02 02:55:55.000000000 +0100
++++ boinc/lib/filesys.cpp 2012-01-15 23:46:23.000000000 +0100
+@@ -168,17 +168,13 @@
+ }
+ }
+ #else
+- while (1) {
+- dirent* dp = readdir(dirp);
+- if (dp) {
+- if (!strcmp(dp->d_name, ".")) continue;
+- if (!strcmp(dp->d_name, "..")) continue;
+- if (p) strlcpy(p, dp->d_name, p_len);
+- return 0;
+- } else {
+- return ERR_READDIR;
+- }
++ for (dirent* dp = readdir(dirp); dp; dp = readdir(dirp)) {
++ if (!strcmp(dp->d_name, ".")) continue;
++ if (!strcmp(dp->d_name, "..")) continue;
++ strlcpy(p, dp->d_name, p_len);
++ return 0;
+ }
++ return ERR_READDIR;
+ #endif
+ }
+
+@@ -253,16 +249,12 @@
+ #else
+ if (!dirp) return false;
+
+- while (1) {
+- dirent* dp = readdir(dirp);
+- if (dp) {
+- if (dp->d_name[0] == '.') continue;
+- s = dp->d_name;
+- return true;
+- } else {
+- return false;
+- }
++ for(dirent* dp = readdir(dirp); dp; dp = readdir(dirp)) {
++ if (dp->d_name[0] == '.') continue;
++ s = dp->d_name;
++ return true;
+ }
++ return false;
+ #endif
+ }
+
+@@ -354,20 +346,18 @@
+
+ dirp = dir_open(dirpath);
+ if (!dirp) return 0; // if dir doesn't exist, it's empty
+- while (1) {
+- strcpy(filename, "");
+- retval = dir_scan(filename, dirp, sizeof(filename));
+- if (retval) break;
+- sprintf(path, "%s/%s", dirpath, filename);
+- clean_out_dir(path);
+- boinc_rmdir(path);
+- retval = boinc_delete_file(path);
+- if (retval) {
+- dir_close(dirp);
+- return retval;
+- }
+- }
++
++ strcpy(filename, "");
++ retval = dir_scan(filename, dirp, sizeof(filename));
+ dir_close(dirp);
++ if (retval) return retval;
++
++ sprintf(path, "%s/%s", dirpath, filename);
++ clean_out_dir(path); // recursion
++ boinc_rmdir(path);
++ retval = boinc_delete_file(path);
++ if (retval) return retval;
++
+ return 0;
+ }
+
+@@ -540,7 +530,7 @@
+ // ownership or permissions when called from the BOINC Client
+ // under sandbox security, so we copy the file directly.
+ FILE *src, *dst;
+- int m, n;
++ size_t m, n;
+ int retval = 0;
+ struct stat sbuf;
+ unsigned char buf[65536];
+@@ -551,17 +541,18 @@
+ fclose(src);
+ return ERR_FOPEN;
+ }
+- while (1) {
++
++ do {
+ n = fread(buf, 1, sizeof(buf), src);
+- if (n <= 0) break;
+ m = fwrite(buf, 1, n, dst);
+- if (m != n) {
+- retval = ERR_FWRITE;
+- break;
+- }
+- }
++ } while(n>0 && m==n);
++
++ if (!feof(src)) retval = ERR_FREAD;
++ else if (m != n) retval = ERR_FWRITE;
++
+ fclose(src);
+ fclose(dst);
++
+ // Copy file's ownership, permissions to the extent we are allowed
+ lstat(orig, &sbuf); // Get source file's info
+ chown(newf, sbuf.st_uid, sbuf.st_gid);
diff -Nru boinc-7.0.7+dfsg/debian/patches/mac_addresses_cores_in_kfreebsd.patch boinc-7.0.14+dfsg/debian/patches/mac_addresses_cores_in_kfreebsd.patch
--- boinc-7.0.7+dfsg/debian/patches/mac_addresses_cores_in_kfreebsd.patch 1970-01-01 00:00:00.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/patches/mac_addresses_cores_in_kfreebsd.patch 2012-02-01 14:49:44.000000000 +0000
@@ -0,0 +1,26 @@
+Index: boinc/lib/mac_address.cpp
+===================================================================
+--- boinc.orig/lib/mac_address.cpp 2011-10-30 00:27:06.000000000 +0200
++++ boinc/lib/mac_address.cpp 2012-02-01 15:49:40.000000000 +0100
+@@ -134,6 +134,10 @@
+
+ bool
+ get_mac_addresses(char* addresses) {
++ if (!addresses) {
++ perror("get_mac_addresses: 'addresses' parameter was NULL");
++ return false;
++ }
+ #if defined(_WIN32)
+ IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information for up to 16 NICs
+ DWORD dwBufLen = sizeof(AdapterInfo); // Save memory size of buffer
+@@ -261,6 +265,10 @@
+ }
+ hw_addr=(struct ether_addr *)&(item->lifr_lifru.lifru_enaddr);
+ #endif
++ if (!hw_addr) {
++ perror("get_mac_addresses: Could not determine hw_addr");
++ return false;
++ }
+ strcat(addresses, delimiter);
+ delimiter[0] = ':';
+ delimiter[1] = '\0';
diff -Nru boinc-7.0.7+dfsg/debian/patches/redundant_i.patch boinc-7.0.14+dfsg/debian/patches/redundant_i.patch
--- boinc-7.0.7+dfsg/debian/patches/redundant_i.patch 1970-01-01 00:00:00.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/patches/redundant_i.patch 2012-01-22 11:26:58.000000000 +0000
@@ -0,0 +1,22 @@
+Index: boinc/clientgui/BOINCListCtrl.cpp
+===================================================================
+--- boinc.orig/clientgui/BOINCListCtrl.cpp 2011-03-17 18:51:03.000000000 +0100
++++ boinc/clientgui/BOINCListCtrl.cpp 2012-01-22 12:26:50.000000000 +0100
+@@ -267,7 +267,7 @@
+
+ void CBOINCListCtrl::DrawProgressBars()
+ {
+- long topItem, numItems, numVisibleItems, i, row;
++ long topItem, numItems, numVisibleItems, row;
+ wxRect r, rr;
+ int w = 0, x = 0, xx, yy, ww;
+ int progressColumn = m_pParentView->GetProgressColumn();
+@@ -300,7 +300,7 @@
+ if (numItems <= (topItem + numVisibleItems)) numVisibleItems = numItems - topItem;
+
+ x = 0;
+- for (i=0; i< progressColumn; i++) {
++ for (int i=0; i< progressColumn; i++) {
+ x += GetColumnWidth(i);
+ }
+ w = GetColumnWidth(progressColumn);
diff -Nru boinc-7.0.7+dfsg/debian/patches/series boinc-7.0.14+dfsg/debian/patches/series
--- boinc-7.0.7+dfsg/debian/patches/series 2011-12-06 21:38:03.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/patches/series 2012-02-01 14:46:23.000000000 +0000
@@ -1,3 +1,4 @@
+mac_addresses_cores_in_kfreebsd.patch
stripchart_debian.patch
upstream_sztaki_configureEval.patch
generate_less.patch
@@ -14,3 +15,5 @@
#AddingMoreConst.patch
#evenMoreConst03.patch
#andYetMorePatches04.patch
+#erase_while_1.patch
+redundant_i.patch
diff -Nru boinc-7.0.7+dfsg/debian/patches/stripchart_security.patch boinc-7.0.14+dfsg/debian/patches/stripchart_security.patch
--- boinc-7.0.7+dfsg/debian/patches/stripchart_security.patch 2011-10-08 12:06:12.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/patches/stripchart_security.patch 2012-01-21 22:12:20.000000000 +0000
@@ -1,7 +1,7 @@
Index: boinc/stripchart/samples/get_load
===================================================================
---- boinc.orig/stripchart/samples/get_load 2011-09-10 17:52:40.000000000 +0200
-+++ boinc/stripchart/samples/get_load 2011-09-11 11:20:51.000000000 +0200
+--- boinc.orig/stripchart/samples/get_load 2012-01-15 01:31:59.000000000 +0100
++++ boinc/stripchart/samples/get_load 2012-01-15 02:02:05.000000000 +0100
@@ -1,11 +1,11 @@
-#! /bin/csh
+#!/bin/sh
@@ -23,8 +23,8 @@
echo $CIVDATE $UNIXDATE $UPTIME
Index: boinc/stripchart/samples/parse_config
===================================================================
---- boinc.orig/stripchart/samples/parse_config 2011-09-10 17:52:41.000000000 +0200
-+++ boinc/stripchart/samples/parse_config 2011-09-11 11:20:51.000000000 +0200
+--- boinc.orig/stripchart/samples/parse_config 2012-01-15 01:31:59.000000000 +0100
++++ boinc/stripchart/samples/parse_config 2012-01-15 02:02:05.000000000 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
@@ -33,8 +33,8 @@
Index: boinc/stripchart/samples/dir_size
===================================================================
---- boinc.orig/stripchart/samples/dir_size 2011-09-10 17:52:41.000000000 +0200
-+++ boinc/stripchart/samples/dir_size 2011-09-11 11:20:51.000000000 +0200
+--- boinc.orig/stripchart/samples/dir_size 2012-01-15 01:31:59.000000000 +0100
++++ boinc/stripchart/samples/dir_size 2012-01-15 02:02:05.000000000 +0100
@@ -1,8 +1,8 @@
-#! /bin/csh
+#!/bin/sh
@@ -50,8 +50,8 @@
echo $CIVDATE $UNIXDATE $SIZE
Index: boinc/stripchart/stripchart.cnf
===================================================================
---- boinc.orig/stripchart/stripchart.cnf 2011-09-11 11:59:01.000000000 +0200
-+++ boinc/stripchart/stripchart.cnf 2011-09-11 11:59:57.000000000 +0200
+--- boinc.orig/stripchart/stripchart.cnf 2012-01-15 02:02:04.000000000 +0100
++++ boinc/stripchart/stripchart.cnf 2012-01-15 02:02:05.000000000 +0100
@@ -1,4 +1,5 @@
-#! /usr/bin/env perl
+
diff -Nru boinc-7.0.7+dfsg/debian/rules boinc-7.0.14+dfsg/debian/rules
--- boinc-7.0.7+dfsg/debian/rules 2012-01-01 15:55:00.000000000 +0000
+++ boinc-7.0.14+dfsg/debian/rules 2012-01-21 22:12:20.000000000 +0000
@@ -342,6 +342,11 @@
origDir ?= .
get-orig-source:
+ diskfree=`df -k . | awk '{print $$4}' | tail -n +2` ; \
+ if [ -z "$$diskfree" -o "$$diskfree" -lt $$((250*1024)) ]; then \
+ echo "Not enough disk space for download. Have 250MB available if not more."; \
+ exit 1; \
+ fi
LATEST_VERSION=`svn list http://boinc.berkeley.edu/svn/tags/ | \
sed 's/boinc_core_release_\(.*\)\//\1/' | \
sort -g -t_ -k1 -k2 -k3 | sed 's/_/./g' | tail -n 1 | tr -d '\n'`; \
diff -Nru boinc-7.0.7+dfsg/doc/download_all.php boinc-7.0.14+dfsg/doc/download_all.php
--- boinc-7.0.7+dfsg/doc/download_all.php 2011-07-22 22:47:41.000000000 +0000
+++ boinc-7.0.14+dfsg/doc/download_all.php 2011-11-16 19:47:40.000000000 +0000
@@ -192,10 +192,6 @@
}
list_end();
echo "
-