Change log -
Windows Only:
This release changes the exit dialog for the manager. You can now enable/disable displaying the exit dialog by going to the advanced view advanced/options menu. Right now the new exit dialog does not shutdown the core client when it is installed as a service and UAC is turned on for the current user. We are shipping a new executable called boincsvcctrl.exe which will be able to start and stop the BOINC service on Vista even when UAC is turned on. The next release of the manager will start using this new tool.
This release fixes the following issues since the .21 release:
- MGR: Move the wxWidget version information to the about box.
printf and Unicode strings don't play well with one another.
- MGR: Fix up the OnHelp features of the BOINC Manager so they
all point to manager_links.php.
- client: fix compiler warning.
- Mac SCR: eliminate unused argument, add comments.
- client: fix the updating of CPU time left in RR simulation;
don't print msgs about non-CPU-intensive projects.
- client, scheduler: there were a few places where we had 1e9
instead of 1 gig (2^20)
- client: fix a long-standing error: if prefs say leave X GB free,
and BOINC is using Y GB, and there are Z GB free,
the limit on BOINC is Y + Z - X (not Z - X).
- client: fix compiler warning indicating real error in RR simulation.
- client: fix bug that caused occasional assert in pop_heap()
for the preemptable_task_list.
The problem was that the ordering predicate (more_preemptable())
could change on the fly, making the heap inconsistent.
Instead, we create a vector, sort it by increasing preemptability,
then pop off the end.
- MGR: Use Sleep instead of Yield for the async thread loop. On Posix
systems all Yield translates to is sched_yield but only if
HAVE_SCHED_YIELD is defined in the wxWidget config file. If it isn't
defined it becomes a null op. The async thread doesn't really need
millisecond response times. Have it check every 100 milliseconds
for an RPC to process.
- client: preemptability ordering was messed up
- MGR: Reverse earlier change in RPC thread logic: restore Yield() because
Sleep(100) caused undesirable latency. Pause the thread immediately on
receipt of wxEVT_RPC_FINISHED event. Reduce RPC thread CPU usage while
not connected to a client.
- MGR: Create an Exit dialog for the Manager.
- MGR: Allow the manager to shutdown the CC even when it was installed as
a daemon.
- MGR: Code cleanup.
- MGR: Provide a way to enable/disable launching from the BOINC Manager
at startup from within the BOINC Manager itself.
- MGR: Add a command line argument which specifies that the Manager was
launched by the OS.
- SCR: Remove the code that checks for the BOINC Manager shortcuts.
- MGR: Fix Simple_GUI help button URL.
- Mac: Add new source files DlgExitMessage.cpp,.h to XCode project.
- MGR: On non-Mac and Non-Windows systems, have RPC thread call
nanosleep() for 1 nanosecond instead of wxThread::Yield(),
because some Linux systems may not support POSIX sched_yield(),
in which case wxThread::Yield() returns immediately.
- MGR: RPC thread: wait for connection with 1 ms delays initially,
pause RPC thread after creation on non-Windows systems.
- MGR: Text cleanup
- MGR: Bug fixes for the new Exit dialog.
- MGR: Don't display the 'Run BOINC at startup checkbox' for
any platform other than Windows. It has no effect on Mac
since the Mac doesn't automatically start BOINC Manager
with any command line arguments.
- MGR: Add DlgExitMessage.cpp to Makefile.am.
- fix makefile typo
- MGR: Give the option to shutdown the CC even if the manager
didn't launch it. This only applies to when the manager
and client are on the same machine.
- MGR: properly save the 'DisplayShutdownClientDialog' setting.
- MGR: Async RPCs: RPC thread is now a joinable thread which does
one RPC and exits. Main thread creates a new RPC thread for
each RPC request after waiting for any previous RPC thread to
exit. This simplifies the logic, eliminates Yield(), Sleep()
and nanosleep() calls from RPC thread and will hopefully
eliminate exess CPU usage on Fedora.
- MGR: Async RPCs: fix memory leaks, KillRPCThread() tries to end
thread gracefully before killing it.
- MGR: On Mac only, remove checkbox asking whether to shutdown CC.
- MGR: Fix crash bug on non_Windows systems in Options dialog.
- MGR: Tweak the shutdown logic so that it can still shutdown the
BOINC service even though it didn't start it.
- MGR: It BOINC Manager starts the BOINC deamon on the mac don't bother
trying to shut it down. (reverting to previous behaviour)
- MGR: revise exit dialog text, use the names in the skin file.
- MGR: Revise text one more time.
From: Kevin Reed
- client: make host CPID a function of:
MAC addresses + hostname + IP addr
This means that a given host will generally always get the same CPID.
Helpful e.g. on grids where the client gets installed repeatedly.
From Artyom Sharov.
- client: add OS name into the hash for host CPID
(for multi-OS hosts)
- MGR: Only tweak the BOINC was started by us variable on
Windows.
- Mac: Add new source files mac_address.cpp,.h to XCode project.
- MGR: Fix compiler warnings on non-Windows builds.
- MGR: Filter wxEVT_TASKBAR_MOVE events only on Windows.
- MGR: On Mac, restore using original exit dialog text from skin file
or use old default if none in skin file.
- MGR: fix verbose text
- accelerate dup_element_contents()
- manager: truncate task progress bar (display) at 100%
- MGR: Move the old exit message from the SkinManager file to
the new Exit dialog.
- MGR: Consolidate the new exit message to one line. Sun Studio
doesn't concat the seperate strings together during compilation
like the other compilers to when building for Unicode.
- MGR: Provide a way to re-enable the Exit Dialog.
- MGR: Fix build break on non_Windows systems.
- MGR: Provide a way to re-enable the Exit Dialog on non-Windows
systems, too.
- MGR: Remove Exit() from RPC thread to possibly fix occasional crash
on Windows; KillRPCThread() tries to end thread gracefully on
Windows before killing it.
- client: don't fclose() time_stats_log if it's NULL
Fixes #772
- MGR: Erase and refresh entire Tasks panel when selecting a new tab
to try to fix cosmetic bug reported by David on Windows.
- SVCCTRL: Introduce a new binary that is used to start and stop
the BOINC service, if it is installed as a service.
NOTE: If UAC is turned on in Windows Vista then even an
administrator cannot start/stop a service without elevating
their priviliages. The new application includes the
requiresAdmin tag in its manifest file to cause the UAC
dialog to be displayed when it is launched.
----- Rom
____________
pixelicious.at - my little photoblog |