mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=11860
This commit is contained in:
parent
cc071a0653
commit
420e00f137
272
checkin_notes
272
checkin_notes
|
@ -1,16 +1,44 @@
|
|||
David 2 Jan 2007
|
||||
- make disk pie charts work on Linux
|
||||
(from Frank Weiler)
|
||||
Reinhard 2 Jan 2007
|
||||
- fixed build of clientgui [in consultation with the Author, Frank Weiler]
|
||||
* corrected unicode-string handling with wxString() in ViewTransfersGrid.cpp and ViewWorkGrid.cpp
|
||||
* corrected wxString handling in BOINCGridCtrl.cpp
|
||||
* add missing files BOINCGridCtrl.[cpp|h] to Makefile.am
|
||||
|
||||
clientgui/
|
||||
wxPieCtrl.cpp
|
||||
clientgui/
|
||||
Makefile.am
|
||||
BOINCGridCtrl.cpp
|
||||
ViewTransfersGrid.cpp
|
||||
ViewWorkGrid.cpp
|
||||
|
||||
Rom 2 Jan 2007
|
||||
- Win SETUP: Incorporate a custom action to migrate CPDNBBC data files to the
|
||||
destination BOINC directory.
|
||||
|
||||
win_build/installerv2/
|
||||
BOINC.ism
|
||||
win_build/installerv2/redist/Windows/src/boinccas/
|
||||
CADetectOldInstaller.cpp, .h (Removed)
|
||||
CAMigrateCPDNBBC.cpp, .h (Added)
|
||||
boinccas.rc
|
||||
boinccas95.def
|
||||
boinccas95.vcproj
|
||||
win_build/installerv2/redist/Windows/x86/
|
||||
boinccas.dll
|
||||
boinccas95.dll
|
||||
|
||||
David 2 Jan 2007
|
||||
- make disk pie charts work on Linux
|
||||
(from Frank Weiler)
|
||||
|
||||
clientgui/
|
||||
wxPieCtrl.cpp
|
||||
|
||||
|
||||
Reinhard 2 Jan 2007
|
||||
- install lib/common_defs.h
|
||||
- install lib/common_defs.h
|
||||
|
||||
lib/
|
||||
Makefile.am
|
||||
lib/
|
||||
Makefile.am
|
||||
|
||||
Charlie 2 Jan 2007
|
||||
- MGR: Fix 2 compiler warnings caused by actual coding errors.
|
||||
|
@ -53,15 +81,15 @@ Matt 3 Jan 2007
|
|||
project.inc
|
||||
|
||||
Reinhard 4 Jan 2007
|
||||
- applied Bernd's patch:
|
||||
* restore extern "C" protection to graphics_api.h, for ANSI-C projects
|
||||
* include boinc_api.h in graphics_impl.C to declare worker_thread_handle()
|
||||
* remove garbage from graphics_lib.C to allow compilation under _WIN32 and __APPLE__
|
||||
- applied Bernd's patch:
|
||||
* restore extern "C" protection to graphics_api.h, for ANSI-C projects
|
||||
* include boinc_api.h in graphics_impl.C to declare worker_thread_handle()
|
||||
* remove garbage from graphics_lib.C to allow compilation under _WIN32 and __APPLE__
|
||||
|
||||
api/
|
||||
graphics_api.h
|
||||
graphics_impl.C
|
||||
graphics_lib.C
|
||||
api/
|
||||
graphics_api.h
|
||||
graphics_impl.C
|
||||
graphics_lib.C
|
||||
|
||||
David 4 Jan 2007
|
||||
- change "Preempted" to "Waiting" in GUI ("preempted" is geek-speak)
|
||||
|
@ -92,20 +120,20 @@ Kevin 4 Jan 2007
|
|||
clientgui/sg_DlgPreferences.cpp
|
||||
|
||||
David 4 Jan 2007
|
||||
- core client: if an app fails to start,
|
||||
it could be that the executable has been munged.
|
||||
So verify the files; this will find the bad file
|
||||
and download it again.
|
||||
- Manager: in Attach to Account Manager wizard, add some text saying
|
||||
if they want to just attach to a single project,
|
||||
use the Attach to Project wizard instead.
|
||||
Some users tried to attach SETI@home using the acct mgr wizard
|
||||
and got all bent outta shape when it didn't work.
|
||||
- core client: if an app fails to start,
|
||||
it could be that the executable has been munged.
|
||||
So verify the files; this will find the bad file
|
||||
and download it again.
|
||||
- Manager: in Attach to Account Manager wizard, add some text saying
|
||||
if they want to just attach to a single project,
|
||||
use the Attach to Project wizard instead.
|
||||
Some users tried to attach SETI@home using the acct mgr wizard
|
||||
and got all bent outta shape when it didn't work.
|
||||
|
||||
client/
|
||||
app_start.C
|
||||
clientgui/
|
||||
WelcomePage.cpp
|
||||
client/
|
||||
app_start.C
|
||||
clientgui/
|
||||
WelcomePage.cpp
|
||||
|
||||
Rom 5 Jan 2007
|
||||
- Win SETUP: Add custom actions for saving and restoring user preferences
|
||||
|
@ -168,12 +196,12 @@ Rom 5 Jan 2007
|
|||
SkinManager.cpp, .h
|
||||
|
||||
David 5 Jan 2007
|
||||
- manager: improved grid views from Frank Weiler;
|
||||
improved message when detach from project mgr
|
||||
- manager: improved grid views from Frank Weiler;
|
||||
improved message when detach from project mgr
|
||||
|
||||
clientgui/
|
||||
BOINCGridCtrl.cpp,h
|
||||
WelcomPage.cpp
|
||||
clientgui/
|
||||
BOINCGridCtrl.cpp,h
|
||||
WelcomPage.cpp
|
||||
|
||||
Rom 5 Jan 2007
|
||||
- MGR: Fix the help handling code for the Mac UI conventions.
|
||||
|
@ -208,17 +236,17 @@ Walt 6 Jan 2007
|
|||
sg_DlgMessages.cpp
|
||||
|
||||
David 7 Jan 2007
|
||||
- manager: fixes for new task/transfer tabs
|
||||
(from Frank Weiler)
|
||||
- manager: fixes for new task/transfer tabs
|
||||
(from Frank Weiler)
|
||||
|
||||
clientgui/
|
||||
BOINCGridCtrl.cpp,h
|
||||
MainDocument.cpp,h
|
||||
ViewTransfersGrid.cpp,h
|
||||
ViewWorkGrid.cpp,h
|
||||
res/
|
||||
sortascending.xpm
|
||||
sortdescending.xpm
|
||||
clientgui/
|
||||
BOINCGridCtrl.cpp,h
|
||||
MainDocument.cpp,h
|
||||
ViewTransfersGrid.cpp,h
|
||||
ViewWorkGrid.cpp,h
|
||||
res/
|
||||
sortascending.xpm
|
||||
sortdescending.xpm
|
||||
|
||||
David 7 Jan 2007
|
||||
- core client: if swap space is zero, it must not have been
|
||||
|
@ -257,18 +285,18 @@ Charlie 8 Jan 2007
|
|||
ViewTransfersGrid.cpp
|
||||
|
||||
David 8 Jan 2007
|
||||
- manager: performance enhancement to grid views
|
||||
(from Frank Weiler)
|
||||
- manager: performance enhancement to grid views
|
||||
(from Frank Weiler)
|
||||
|
||||
clientgui/
|
||||
AdvancedFrame.cpp
|
||||
BOINCGridCtrl.cpp,h
|
||||
Events.h
|
||||
MainDocument.cpp,h
|
||||
ViewMessagesGrid.cpp, h (new)
|
||||
ViewProjectsGrid.cpp,h
|
||||
ViewTransfersGrid.pp
|
||||
ViewWOrkGrid.cpp
|
||||
clientgui/
|
||||
AdvancedFrame.cpp
|
||||
BOINCGridCtrl.cpp,h
|
||||
Events.h
|
||||
MainDocument.cpp,h
|
||||
ViewMessagesGrid.cpp, h (new)
|
||||
ViewProjectsGrid.cpp,h
|
||||
ViewTransfersGrid.pp
|
||||
ViewWOrkGrid.cpp
|
||||
|
||||
Rom 8 Jan 2007
|
||||
- Win SETUP: Make Windows XP or better require passwords for the
|
||||
|
@ -287,16 +315,16 @@ David 8 Jan 2007
|
|||
prefs.inc
|
||||
|
||||
David 8 Jan 2007
|
||||
- core client: fixed crashing bug that happens when attaching
|
||||
to a project with wrong URL (e.g. setiathome.ssl.berkeley.edu).
|
||||
The fix allows the project to attach but prints a warning.
|
||||
It would be better to not allow the attach;
|
||||
I'll get back to this later
|
||||
- core client: fixed crashing bug that happens when attaching
|
||||
to a project with wrong URL (e.g. setiathome.ssl.berkeley.edu).
|
||||
The fix allows the project to attach but prints a warning.
|
||||
It would be better to not allow the attach;
|
||||
I'll get back to this later
|
||||
|
||||
client/
|
||||
client_types.h
|
||||
cs_scheduler.C
|
||||
scheduler_op.C
|
||||
client/
|
||||
client_types.h
|
||||
cs_scheduler.C
|
||||
scheduler_op.C
|
||||
|
||||
Charlie 8 Jan 2007
|
||||
- Mac: update XCode project for new ViewMessagesGrid, ViewProjectsGrid
|
||||
|
@ -341,16 +369,16 @@ Walt 9 Jan 2007
|
|||
procinfo_unix.cpp
|
||||
|
||||
David 9 Jan 2007
|
||||
- Manager: get rid of "CPU throttled" messages
|
||||
- Manager: enhancements to Statistics tab
|
||||
(can click on project name in multi-project view)
|
||||
from Mifistor_x
|
||||
- Manager: get rid of "CPU throttled" messages
|
||||
- Manager: enhancements to Statistics tab
|
||||
(can click on project name in multi-project view)
|
||||
from Mifistor_x
|
||||
|
||||
clientgui/
|
||||
ViewStatistics.cpp,h
|
||||
ViewWork.cpp
|
||||
ViewWorkGrid.cpp
|
||||
stdwx.h
|
||||
clientgui/
|
||||
ViewStatistics.cpp,h
|
||||
ViewWork.cpp
|
||||
ViewWorkGrid.cpp
|
||||
stdwx.h
|
||||
|
||||
David 9 Jan 2007
|
||||
- user web: "old news" was broken
|
||||
|
@ -362,11 +390,11 @@ David 9 Jan 2007
|
|||
news.inc
|
||||
|
||||
David 9 Jan 2007
|
||||
- core: if we're preempting an app and leave it in memory
|
||||
because no checkpoint yet, say so in message
|
||||
- core: if we're preempting an app and leave it in memory
|
||||
because no checkpoint yet, say so in message
|
||||
|
||||
client/
|
||||
app_control.C
|
||||
client/
|
||||
app_control.C
|
||||
|
||||
Charlie 9 Jan 2007
|
||||
- MGR: Updates to disk usage pie charts from Frank Weiler.
|
||||
|
@ -377,42 +405,42 @@ Charlie 9 Jan 2007
|
|||
wxPieCtrl.cpp,h
|
||||
|
||||
David 10 Jan 2007
|
||||
- core client: fix problems when user aborts result
|
||||
(mark it as CPU_SCHED_PREEMPTED so scheduler doesn't
|
||||
try to preempt it; that confuses things)
|
||||
- changed format of Deferring Comm messages
|
||||
- core client: fix problems when user aborts result
|
||||
(mark it as CPU_SCHED_PREEMPTED so scheduler doesn't
|
||||
try to preempt it; that confuses things)
|
||||
- changed format of Deferring Comm messages
|
||||
|
||||
client/
|
||||
app_control.C
|
||||
cs_scheduler.C
|
||||
client/
|
||||
app_control.C
|
||||
cs_scheduler.C
|
||||
|
||||
David 10 Jan 2007
|
||||
- core client: backwards > in PROJECT::some_download_stalled().
|
||||
This caused the client to keep fetching work
|
||||
from a project with stalled downloads.
|
||||
- core client: backwards > in PROJECT::some_download_stalled().
|
||||
This caused the client to keep fetching work
|
||||
from a project with stalled downloads.
|
||||
|
||||
client/
|
||||
client_types.C
|
||||
client/
|
||||
client_types.C
|
||||
|
||||
David 10 Jan 2007
|
||||
- manager: fix Unicode build problems
|
||||
(from Frank Weiler)
|
||||
- manager: fix Unicode build problems
|
||||
(from Frank Weiler)
|
||||
|
||||
clientgui/
|
||||
ViewStatistics.cpp
|
||||
clientgui/
|
||||
ViewStatistics.cpp
|
||||
|
||||
David 10 Jan 2007
|
||||
- manager: various fixes
|
||||
(from Frank Weiler)
|
||||
- manager: various fixes
|
||||
(from Frank Weiler)
|
||||
|
||||
clientgui/
|
||||
BOINCGridCtrl.cpp,h
|
||||
ViewMessagesGrid.cpp
|
||||
ViewProjectsGrid.cpp
|
||||
ViewResourcesGrid.cpp
|
||||
ViewStatistics.cpp
|
||||
ViewTransfersGrid.cpp
|
||||
ViewWorkGrid.cpp
|
||||
clientgui/
|
||||
BOINCGridCtrl.cpp,h
|
||||
ViewMessagesGrid.cpp
|
||||
ViewProjectsGrid.cpp
|
||||
ViewResourcesGrid.cpp
|
||||
ViewStatistics.cpp
|
||||
ViewTransfersGrid.cpp
|
||||
ViewWorkGrid.cpp
|
||||
|
||||
David 10 Jan 2007
|
||||
- core client: sort daily stats records in case they get
|
||||
|
@ -423,11 +451,11 @@ David 10 Jan 2007
|
|||
cs_account.C
|
||||
|
||||
David 10 Jan 2007
|
||||
- manager: use user-friendly app names
|
||||
- manager: use user-friendly app names
|
||||
|
||||
clientgui/
|
||||
ViewWork.cpp
|
||||
ViewWorkGrid.cpp
|
||||
clientgui/
|
||||
ViewWork.cpp
|
||||
ViewWorkGrid.cpp
|
||||
|
||||
Rom 10 Jan 2007
|
||||
- SCR: Disable the diagnostic support for release builds of the
|
||||
|
@ -457,11 +485,11 @@ David 11 Jan 2007
|
|||
cache_parameters.inc
|
||||
|
||||
David 11 Jan 2007
|
||||
- manager: use user-friendly app names (fix to work w/ 5.4.11)
|
||||
- manager: use user-friendly app names (fix to work w/ 5.4.11)
|
||||
|
||||
clientgui/
|
||||
ViewWork.cpp
|
||||
ViewWorkGrid.cpp
|
||||
clientgui/
|
||||
ViewWork.cpp
|
||||
ViewWorkGrid.cpp
|
||||
|
||||
Rom 11 Jan 2007
|
||||
- MGR: Fix build break for Unicode support.
|
||||
|
@ -545,3 +573,25 @@ Reinhard 14 Jan 2007
|
|||
|
||||
sched/
|
||||
validator.C
|
||||
|
||||
David 15 Jan 2007
|
||||
- core client: lots of debugging messages for cpu_sched (may remove later)
|
||||
- Manager: check for ERR_DB_NOT_UNIQUE, not ERR_NONUNIQUE_EMAIL
|
||||
- add boinc_UnzipToMemory() (from Reinhard Prix)
|
||||
|
||||
client/
|
||||
cpu_sched.C
|
||||
clientgui/
|
||||
ProjectProcessingPage.cpp
|
||||
html/ops/
|
||||
sample_server_status.php
|
||||
lib/
|
||||
common_defs.h
|
||||
error_numbers.h
|
||||
gui_rpc_client_print.C
|
||||
util.C
|
||||
zip/
|
||||
Makefile.am
|
||||
boinc_zip.cpp,h
|
||||
unzip/
|
||||
api.C
|
||||
|
|
|
@ -13902,31 +13902,3 @@ Rytis 30 Dec 2006
|
|||
|
||||
html/user/
|
||||
forum_thread.php
|
||||
|
||||
Reinhard 2 Jan 2007
|
||||
- fixed build of clientgui [in consultation with the Author, Frank Weiler]
|
||||
* corrected unicode-string handling with wxString() in ViewTransfersGrid.cpp and ViewWorkGrid.cpp
|
||||
* corrected wxString handling in BOINCGridCtrl.cpp
|
||||
* add missing files BOINCGridCtrl.[cpp|h] to Makefile.am
|
||||
|
||||
clientgui/
|
||||
Makefile.am
|
||||
BOINCGridCtrl.cpp
|
||||
ViewTransfersGrid.cpp
|
||||
ViewWorkGrid.cpp
|
||||
|
||||
Rom 2 Jan 2007
|
||||
- Win SETUP: Incorporate a custom action to migrate CPDNBBC data files to the
|
||||
destination BOINC directory.
|
||||
|
||||
win_build/installerv2/
|
||||
BOINC.ism
|
||||
win_build/installerv2/redist/Windows/src/boinccas/
|
||||
CADetectOldInstaller.cpp, .h (Removed)
|
||||
CAMigrateCPDNBBC.cpp, .h (Added)
|
||||
boinccas.rc
|
||||
boinccas95.def
|
||||
boinccas95.vcproj
|
||||
win_build/installerv2/redist/Windows/x86/
|
||||
boinccas.dll
|
||||
boinccas95.dll
|
||||
|
|
|
@ -581,6 +581,13 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(0, MSG_INFO, "[cpu_sched_debug] enforce_schedule(): start");
|
||||
for (i=0; i<ordered_scheduled_results.size(); i++) {
|
||||
RESULT* rp = ordered_scheduled_results[i];
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] want to run: %s",
|
||||
rp->name
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// set temporary variables
|
||||
|
@ -633,6 +640,11 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
//
|
||||
for (i=0; i<ordered_scheduled_results.size(); i++) {
|
||||
RESULT* rp = ordered_scheduled_results[i];
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] processing %s", rp->name
|
||||
);
|
||||
}
|
||||
|
||||
// See if the result is already running.
|
||||
//
|
||||
|
@ -653,6 +665,12 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
}
|
||||
}
|
||||
if (atp) {
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] %s is already running", rp->name
|
||||
);
|
||||
}
|
||||
|
||||
// the scheduled result is already running.
|
||||
// see if it fits in mem
|
||||
//
|
||||
|
@ -669,11 +687,12 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
} else {
|
||||
ram_left -= atp->procinfo.working_set_size_smoothed;
|
||||
atp->too_large = false;
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
// if the result already has a (non-running) active task,
|
||||
// Here if the result is not already running.
|
||||
// If it already has a (non-running) active task,
|
||||
// see if it fits in mem
|
||||
//
|
||||
atp = lookup_active_task_by_result(rp);
|
||||
|
@ -699,18 +718,19 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
bool need_to_preempt = (nrunning==ncpus) && running_tasks.size();
|
||||
// the 2nd half of the above is redundant
|
||||
if (need_to_preempt) {
|
||||
// examine the most preemptable task.
|
||||
// Preempt it if either
|
||||
// 1) it's completed its time slice and has checkpointed recently
|
||||
// 2) the scheduled result is in deadline trouble
|
||||
//
|
||||
atp = running_tasks[0];
|
||||
bool running_beyond_sched_period =
|
||||
gstate.now - atp->run_interval_start_wall_time
|
||||
> gstate.global_prefs.cpu_scheduling_period_minutes*60;
|
||||
bool checkpointed_recently =
|
||||
(now - atp->checkpoint_wall_time < 10);
|
||||
double time_running = now - atp->run_interval_start_wall_time;
|
||||
bool running_beyond_sched_period = time_running > global_prefs.cpu_scheduling_period_minutes*60;
|
||||
double time_since_checkpoint = now - atp->checkpoint_wall_time;
|
||||
bool checkpointed_recently = time_since_checkpoint < 10;
|
||||
if (rp->project->deadlines_missed
|
||||
|| (running_beyond_sched_period && checkpointed_recently)
|
||||
) {
|
||||
// only deadlines_missed results from a project
|
||||
// will qualify for immediate enforcement.
|
||||
//
|
||||
if (rp->project->deadlines_missed) {
|
||||
rp->project->deadlines_missed--;
|
||||
}
|
||||
|
@ -723,6 +743,19 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
);
|
||||
running_tasks.pop_back();
|
||||
run_task = true;
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] preempting %s",
|
||||
atp->result->name
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] didn't preempt %s: tr %f tsc %f",
|
||||
atp->result->name, time_running, time_since_checkpoint
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
run_task = true;
|
||||
|
@ -734,6 +767,12 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
ram_left -= atp->procinfo.working_set_size_smoothed;
|
||||
}
|
||||
}
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(0, MSG_INFO,
|
||||
"[cpu_sched_debug] finished preempt loop, nrunning %d",
|
||||
nrunning
|
||||
);
|
||||
}
|
||||
|
||||
// make sure we don't exceed RAM limits
|
||||
//
|
||||
|
@ -784,6 +823,12 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
//
|
||||
for (i=0; i<active_tasks.active_tasks.size(); i++) {
|
||||
atp = active_tasks.active_tasks[i];
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(atp->result->project, MSG_INFO,
|
||||
"[cpu_sched_debug] %s state %d next %d",
|
||||
atp->result->name, atp->scheduler_state, atp->next_scheduler_state
|
||||
);
|
||||
}
|
||||
if (atp->scheduler_state == CPU_SCHED_SCHEDULED
|
||||
&& atp->next_scheduler_state == CPU_SCHED_PREEMPTED
|
||||
) {
|
||||
|
@ -822,13 +867,16 @@ bool CLIENT_STATE::enforce_schedule() {
|
|||
}
|
||||
atp->scheduler_state = CPU_SCHED_SCHEDULED;
|
||||
atp->run_interval_start_wall_time = now;
|
||||
app_started = gstate.now;
|
||||
app_started = now;
|
||||
swap_left -= atp->procinfo.swap_size;
|
||||
}
|
||||
}
|
||||
if (action) {
|
||||
set_client_state_dirty("enforce_cpu_schedule");
|
||||
}
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(0, MSG_INFO, "[cpu_sched_debug] enforce_schedule: end");
|
||||
}
|
||||
return action;
|
||||
}
|
||||
|
||||
|
|
|
@ -456,7 +456,7 @@ void CProjectProcessingPage::OnStateChange( CProjectProcessingPageEvent& WXUNUSE
|
|||
} else {
|
||||
SetProjectCommunitcationsSucceeded(false);
|
||||
|
||||
if ((ERR_NONUNIQUE_EMAIL == ao->error_num) || CHECK_DEBUG_FLAG(WIZDEBUG_ERRACCOUNTALREADYEXISTS)) {
|
||||
if ((ERR_DB_NON_UNIQUE == ao->error_num) || CHECK_DEBUG_FLAG(WIZDEBUG_ERRACCOUNTALREADYEXISTS)) {
|
||||
SetProjectAccountAlreadyExists(true);
|
||||
} else {
|
||||
SetProjectAccountAlreadyExists(false);
|
||||
|
|
|
@ -121,6 +121,11 @@ with file deletion according to project policy.
|
|||
|
||||
<li> Server/Back End:
|
||||
<ul>
|
||||
<li> When using HR, if the scheduler has sent one result of a WU
|
||||
using a particular app version,
|
||||
it should use the same app version for other results from that WU.
|
||||
Need to change protocol to specify version num;
|
||||
need to change client to use this.
|
||||
<li> Implement a mechanism so that server
|
||||
software detects incompatible database format
|
||||
<li>
|
||||
|
|
|
@ -87,8 +87,7 @@ function email_contact($vol) {
|
|||
";
|
||||
list_start();
|
||||
list_item(
|
||||
"Your email address<br><span class=note>Optional, but $vol->name
|
||||
won't be able to reply unless you include it</span>",
|
||||
"Your email address",
|
||||
input("email_addr", "")
|
||||
);
|
||||
list_item("Subject<br><span class=note>Include 'BOINC' in the subject so $vol->name will know it's not spam</span>", input("subject", ""));
|
||||
|
@ -117,15 +116,19 @@ if ($send_email) {
|
|||
error_page("No such volunteer $volid");
|
||||
}
|
||||
$msg = stripslashes($_GET['message']);
|
||||
if (!$msg) {
|
||||
error_page("You must supply a message");
|
||||
}
|
||||
$body = "The following message was sent by a BOINC Help user.\n";
|
||||
$email_addr = $_GET['email_addr'];
|
||||
if ($email_addr) {
|
||||
$body .= "(email address: $email_addr)\n";
|
||||
if (!$email_addr) {
|
||||
error_page("You need to specify your email address");
|
||||
}
|
||||
$reply = "\r\nreply-to: $email_addr";
|
||||
$body .= "\n\n";
|
||||
$body .= $msg;
|
||||
if (!$subject) $subject = "BOINC Help request";
|
||||
mail($vol->email_addr, $subject, $body, "From: BOINC");
|
||||
mail($vol->email_addr, $subject, $body, "From: BOINC".$reply);
|
||||
page_head("Message sent");
|
||||
echo "Your message has been sent to $vol->name";
|
||||
page_tail();
|
||||
|
|
|
@ -64,8 +64,7 @@ do it only if you know what you're doing.</i>
|
|||
<li> Attach to SETI@home or other projects,
|
||||
and make sure work is downloaded and started.
|
||||
<li> <b>From the time of installation to the time that work is begun
|
||||
there should be no long delays,
|
||||
errors, confusing messages,
|
||||
there should be no long delays, errors, confusing messages,
|
||||
or anything else that might bother a naive,
|
||||
non-technical computer owner.
|
||||
If there is, report it as a a bug.</b>
|
||||
|
|
|
@ -81,7 +81,7 @@ function daemon_status($host, $pidname, $progname, $disabled) {
|
|||
}
|
||||
$foo = exec($command);
|
||||
if ($foo) {
|
||||
if (strstr($foo, $progname)) $running = 1;
|
||||
if (strstr($foo, $pid)) $running = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,6 +34,8 @@
|
|||
// restore permanent mode - used only in set_X_mode() GUI RPC
|
||||
|
||||
// values of ACTIVE_TASK::scheduler_state and ACTIVE_TASK::next_scheduler_state
|
||||
// "SCHEDULED" is synonymous with "executing" except when CPU throttling
|
||||
// is in use.
|
||||
#define CPU_SCHED_UNINITIALIZED 0
|
||||
#define CPU_SCHED_PREEMPTED 1
|
||||
#define CPU_SCHED_SCHEDULED 2
|
||||
|
|
|
@ -152,7 +152,6 @@
|
|||
#define ERR_IN_PROGRESS -204
|
||||
#define ERR_BAD_EMAIL_ADDR -205
|
||||
#define ERR_BAD_PASSWD -206
|
||||
#define ERR_NONUNIQUE_EMAIL -207
|
||||
#define ERR_ACCT_CREATION_DISABLED -208
|
||||
#define ERR_ATTACH_FAIL_INIT -209
|
||||
#define ERR_ATTACH_FAIL_DOWNLOAD -210
|
||||
|
|
|
@ -139,6 +139,11 @@ void FILE_TRANSFER::print() {
|
|||
printf(" upload when present: %s\n", upload_when_present?"yes":"no");
|
||||
printf(" sticky: %s\n", sticky?"yes":"no");
|
||||
printf(" generated locally: %s\n", generated_locally?"yes":"no");
|
||||
printf(" pers xfer active: %s\n", pers_xfer_active?"yes":"no");
|
||||
printf(" xfer active: %s\n", xfer_active?"yes":"no");
|
||||
printf(" time_so_far: %f\n", time_so_far);
|
||||
printf(" bytes_xferred: %f\n", bytes_xferred);
|
||||
printf(" xfer_speed: %f\n", xfer_speed);
|
||||
}
|
||||
|
||||
void MESSAGE::print() {
|
||||
|
|
|
@ -1068,7 +1068,6 @@ const char* boincerror(int which_error) {
|
|||
case ERR_USER_PERMISSION: return "user permission";
|
||||
case ERR_BAD_EMAIL_ADDR: return "bad email address";
|
||||
case ERR_BAD_PASSWD: return "bad password";
|
||||
case ERR_NONUNIQUE_EMAIL: return "email address is already in use";
|
||||
case ERR_SHMEM_NAME: return "can't get shared mem segment name";
|
||||
case ERR_NO_NETWORK_CONNECTION: return "no available network connection";
|
||||
case ERR_ATTACH_FAIL_INIT: return "Couldn't start master page download";
|
||||
|
|
|
@ -31,6 +31,7 @@ libboinc_zip_a_SOURCES = boinc_zip.cpp \
|
|||
./unzip/unshrink.c \
|
||||
./unzip/unzip.c \
|
||||
./unzip/zipinfo.c \
|
||||
./unzip/api.c \
|
||||
./zip/deflate.c \
|
||||
./zip/trees.c \
|
||||
./zip/util.c \
|
||||
|
|
|
@ -9,8 +9,11 @@ extern {
|
|||
#endif
|
||||
int unzip_main(int argc, char** argv);
|
||||
int zip_main(int argc, char** argv);
|
||||
#include "./unzip/unzip.h"
|
||||
}
|
||||
|
||||
#include "./zip/zip.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#else
|
||||
|
@ -20,9 +23,6 @@ int zip_main(int argc, char** argv);
|
|||
using std::string;
|
||||
#endif
|
||||
|
||||
#include "./unzip/unzip.h"
|
||||
#include "./zip/zip.h"
|
||||
|
||||
#include "boinc_zip.h"
|
||||
#include "filesys.h" // from BOINC for DirScan
|
||||
#include <algorithm>
|
||||
|
@ -304,5 +304,32 @@ bool boinc_filelist(const std::string directory,
|
|||
return true;
|
||||
}
|
||||
|
||||
int
|
||||
boinc_UnzipToMemory ( char *zip, char *file, string &retstr )
|
||||
{
|
||||
UzpOpts opts = {}; /* options for UzpUnzipToMemory() */
|
||||
UzpCB funcs = {}; /* function pointers for UzpUnzipToMemory() */
|
||||
UzpBuffer buf;
|
||||
int ret;
|
||||
|
||||
/* Read compressed file to memory. */
|
||||
funcs.structlen = sizeof(UzpCB);
|
||||
funcs.msgfn = (MsgFn *)printf;
|
||||
funcs.inputfn = (InputFn *)scanf;
|
||||
funcs.pausefn = (PauseFn *)( 0x01 );
|
||||
funcs.passwdfn = (PasswdFn *)( NULL );
|
||||
|
||||
ret = UzpUnzipToMemory( zip, file, &opts, &funcs, &buf );
|
||||
|
||||
if ( ret )
|
||||
retstr = (string) buf.strptr;
|
||||
|
||||
if ( buf.strptr) free ( buf.strptr );
|
||||
|
||||
return ret;
|
||||
|
||||
} // boinc_UnzipToMemory()
|
||||
|
||||
|
||||
const char *BOINC_RCSID_bdf38b2dfb = "$Id$";
|
||||
|
||||
|
|
|
@ -57,6 +57,8 @@ bool boinc_filelist(const std::string directory,
|
|||
const bool bClear = true);
|
||||
int boinc_zip(int bZipType, const std::string szFileZip, const ZipFileList* pvectszFileIn);
|
||||
int boinc_zip(int bZipType, const std::string szFileZip, const std::string szFileIn);
|
||||
|
||||
int boinc_UnzipToMemory ( char *zip, char *file, std::string &retstr );
|
||||
extern "C"
|
||||
#else
|
||||
extern
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
You must define `DLL' in order to include the API extensions.
|
||||
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
#define DLL
|
||||
|
||||
#ifdef OS2
|
||||
# define INCL_DOSMEMMGR
|
||||
|
|
Loading…
Reference in New Issue