1) XML_PARSER::parse_int() and parse_double() wouldn't parse
<foo></foo>, and in fact would consume the </foo>,
so that the resulting skip_unexpected()
would skip the entire rest of the document.
This was exercised because my checking of 17 Apr
set the default for work_buf_min_days as "" rather than 0.
2) XML_PARSER::scan_tag() was removing spaces,
so <venue name="home"> parsed as venuename="home"
This actually didn't do any damage.
lib/
parse.C
prefs.C
svn path=/trunk/boinc/; revision=12986
loop
read a line X
S += X
it performs real bad if the file is large
(allocation of std::string seems to stupid)
So I changed this to
find file size n
read file into malloced buf size n
S = buf
free buf
- lib: moved functions to appropriate file
client/
acct_setup.C
cs_prefs.C
lib/
parse.C,h
str_util.C,h
util.C,h
svn path=/trunk/boinc/; revision=12983
- back end: moved HR_INFO to a separate file;
did some debugging in HR code
html/
inc/
forum_user.inc
util.inc
user/
forum_pm.php
sched/
Makefile.am
census.C
feeder.C
hr.C,h
hr_info.C,h (new)
svn path=/trunk/boinc/; revision=12978
actually support this, but those that do get an increased performance boost and
don't have to contact the more expensive announce.php nearly as often as those
that do not support it. Since it hasn't yet been decided which BT library we
will be using I just added scraping anyways.
svn path=/trunk/boinc/; revision=12977
there is for each HR class, and writes it to a file.
This will be used soon for HR support in the feeder.
- split the HR code into hr.C,h (stuff used by both census and scheduler)
and sched_hr.C (stuff used only by the scheduler)
- database: change DB_CREDITED_JOB to treat workunitid
as a double (which it is) rather than a long.
BTW, long == int.
- fixed lots of compile warnings in the server code
db/
boinc_db.C,h
lib/
boinc_cmd.C
miofile.C
util.C
sched/
Makefile.am
census.C (new)
feeder.C
file_deleter.C
file_upload_handler.C
handle_request.C
hr.C,h (new)
main.C
sample_assimilator.C
sample_work_generator.C
sched_array.C
sched_hr.C,h
sched_send.C
server_types.C
transitioner.C
validator.C
svn path=/trunk/boinc/; revision=12970
for WUs of different applications
(need to count unsent results separately by app)
- feeder: major code cleanup
- application interleaving (for -allapps) is now done
by building a static slot-to-app array "app_indices".
Fractional weights now work correctly.
- enum sizes (for -allapps) are now precomputed
in an array "enum_sizes"
- rename "found" (confusing!!) to "collision"
- swapped the names of mod_select_clause and select_clause,
to reflect what they actually are
- file deleter: in finding oldest WU, order by id instead of create_time
(there's no index on create_time)
- user web: show "merge by name" only to host owner
- add cpu_scheduler_period() member to GLOBAL_PREFS
(so you don't have to multiply by 60 everywhere)
- infinite() fix for HPUX
client/
cpu_sched.C
cs_cmdline.C
cs_scheduler.C
rrsim_test.C
sim.C
work_fetch.C
html/user/
hosts_user.php
lib/
parse.h
prefs.h
sched/
feeder.C
file_deleter.C
make_work.C
sample_work_generator.C
sched_util.C,h
tools/
updater.C
svn path=/trunk/boinc/; revision=12968
in the slot directory.
NOTE: Only implemented in the advanced view list controls
for now.
clientgui/
Events.h
ViewWork.cpp, .h
svn path=/trunk/boinc/; revision=12955
the shortcut to BOINC Manager.
win_build/installerv2/
BOINC.ism
BOINCx64.ism
- MGR: Revert back out the change to cache the host type
(local/remote). Somehow it was messing up controlling
remote machines.
clientgui/
MainDocument.cpp, .h
svn path=/trunk/boinc/; revision=12943
These let the Manager run the graphics app.
Graphics apps have physical name *v6graphics*
- Separated ACTIVE_TASK::write() and ACTIVE_TASK::write_gui().
These need to write largely disjoint set of items.
- code cleanup: remove a zillion "else"s in parsing code
- code cleanup: change a zillion match_tag(buf, "<foo/>"
to parse_bool(buf, "foo")
client/
app.C,h
client_state.C
client_types.C,h
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
sched/
server_types.C
svn path=/trunk/boinc/; revision=12938
from a bool to an int:
0 = no HR
1 = HR with fine-grained classification (from MF Somers)
2 = HR with coarse-grained classification (from WCG)
Note: numerical equivalence depends on your application
and how it's compiled. Some apps may need classifications
other than these two. Contact me if so.
sched/
sched_hr.C
sched_config.C,h
svn path=/trunk/boinc/; revision=12934
- Server status page: if the scheduler isn't running,
it's almost certainly because "stop_sched" is present,
not because Apache isn't running.
Get rid of the use of "sched_pid".
tools/
project.xml
html/ops/
sample_server_status.php
svn path=/trunk/boinc/; revision=12931
serverside setup. Once the remaining parts of the code are in place it should
be possible to use this page as a guide on where to look for any errors.
svn path=/trunk/boinc/; revision=12915
(don't send work to Mac OS X 10.2 or earlier).
This used to be #ifdef in by Einstein@home.
- scheduler: add no_amd_k6 option
(don't send work to AMD K6 CPUs)
sched/
handle_request.C
sched_config.C,h
svn path=/trunk/boinc/; revision=12912
switch to the Advanced GUI automatically.
- MGR: If a screen reader is detected, switch to the Advanced
GUI list view automatically.
clientgui/
AdvancedFrame.cpp
BOINCGUIApp.cpp
svn path=/trunk/boinc/; revision=12910
from 20 to 10 seconds, this broke things on ultra-slow CPUs.
I think this is because a single loop of the FP
benchmark took so long that the end time of the int
benchmark had already come and gone.
Fixed this (I hope) by reducing the loop length
by a factor of 10.
client/
cs_benchmark.C
dhrystone.C
whetstone.C
svn path=/trunk/boinc/; revision=12908
- client: if result in statefile is labeled with unsupported platform,
set its platform to primary
(this completes the fix of 11 June, hopefully fixes#262)
client/
client_state.C
cs_statefile.C
svn path=/trunk/boinc/; revision=12907
and schedulers.txt file in a way that will work
with UMTS ISPs (which strip out comments)
html/user/
sample_index.php
py/Boinc/
setup_project.py
svn path=/trunk/boinc/; revision=12896
process that's not running, at least mark it as preempted.
(this should never happen in principle)
- API: compile fix for Mac
api/
graphics2_unix.C
client/
cpu_sched.C
svn path=/trunk/boinc/; revision=12895
change it to the primary platform.
The probably cause of this is that the user switched to
a 64-bit client, then back to the 32-bit client.
If we reject the app version, it would e.g. cause CPDN
WUs to get aborted in the middle.
client/
cs_statefile.C
svn path=/trunk/boinc/; revision=12893
confuse the client because their <name> element
gets parsed as the project name.
Work around by changing to <platform_name>.
Note: here (and everywhere else) if we get an unparsed XML tag
we should skip to past the close tag.
I'll put this in soon.
html/user/
get_project_config.php
svn path=/trunk/boinc/; revision=12834
The manager was getting stuck in an infinite loop since a
bool wasn't being explicitly initialized to false.
clientgui/
AccountManagerProcessingPage.cpp
svn path=/trunk/boinc/; revision=12816
(e.g., to show BOINC error codes correctly)
- get_project_config.php: add an element that lists the
platforms supported by this project
(i.e. for which there's a non-deprecated app version)
Cache this info in a file (cache/platform_list.xml)
so that it will be available even when the project's DB is down.
- Rename sample_get_project_config.php to get_project_config.php;
a project should no longer need its own version of this file.
Change setup_project accordingly.
client/
app_control.C
html/user/
get_project_config.php (new)
sample_get_project_config.php (removed)
py/Boinc/
setup_project.py
svn path=/trunk/boinc/; revision=12814
with multicore machines. I don't know why this happened,
but I fixed it by doing integer benchmarks only on CPU zero.
This is OK since cores have separate integer units
(but not necessarily FP units)
client/
cs_benchmark.C
svn path=/trunk/boinc/; revision=12808
(undoes checkin of 25 Jan 2005; I don't remember why we
made that change. Next time put in checkin notes!)
- client: Linux: show error msg if can't open /proc/cpuinfo
or /proc/meminfo; set memory size of 1 GB in latter case.
Remove duplicate code that read /proc/meminfo
- 'start' script; handle <disabled>0</disable> in tasks and daemon
elements of config.xml (can't handle <disable/>, however).
client/
gui_rpc_server_ops.C
hostinfo_unix.C
sched/
feeder.C
start
svn path=/trunk/boinc/; revision=12807
The format of a process descriptor had changed a little,
and the format of the VM stats part was completely changed.
I had to reverse engineer it - very unpleasant.
lib/
diagnostics_sin.h
procinfo.h
svn path=/trunk/boinc/; revision=12804
user cancels the launch of BOINC Manager at startup the script
itself doesn't throw an error message.
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.rc
CACreateVBSShortcut.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
svn path=/trunk/boinc/; revision=12799
In principle, a project can now use both
locality scheduling and homogeneous redundancy.
- scheduler: do HR check before deadline check,
since the latter is slower.
- scheduler: wu_is_infeasible() doesn't return a bitmap.
Change its return values to sequential numbers.
- scheduler: ignore <accelerator> and <p_capabilities> tags
sched/
sched_send.C,h
sched_array.C
sched_locality.C
server_types.C
svn path=/trunk/boinc/; revision=12791
Polling should be taken care of via MainDocument functions
to make sure that RPCs calls do not become excessive.
clientgui/
AccountManagerPropertiesPage.cpp
BOINCDialupManager.cpp
ProjectPropertiesPage.cpp
svn path=/trunk/boinc/; revision=12790
This is handy if you have a lot of hosts,
and every now and then they get a new host ID
(e.g. because you delete and reinstall BOINC).
You can now merge all of them with a single click.
html/
inc/
host.inc
user/
host_edit_action.php
merge_by_name.php (new)
hosts_user.php
svn path=/trunk/boinc/; revision=12785
- core client: fix bug in set_debt() GUI RPC
- scheduler: some of the "quick checks" in scan_work_array()
are applicable to locality scheduling also,
so they should be moved to wu_is_infeasible().
I did this for one: the check for one result
per user (or host) per WU. Should do for others.
client/
gui_rpc_server_ops.C
html/
host_edit_action.php
host_edit_form.php
sched/
sched_array.C
sched_send.C,h
svn path=/trunk/boinc/; revision=12784
e.g. distinguish between models of Intel and AMD
- Scheduler: add a quick HR check that doesn't access the DB
- Transitioner: if a workunit has >0 error results and no success results,
set its HR class to zero
From M.F. Somers.
db/
boinc_db.C,h
sched/
sched_array.C
sched_hr.C,h
transitioner.C
svn path=/trunk/boinc/; revision=12773
This cause the core client to exit immediately before or after
running a job,
letting you examine the contents of the slot directory.
- scheduler: changed max # of CPUs used in daily_result_quota
limit from 4 to 8, and make it a compile-time parameter
- feeder/scheduler: make the number of work items in shared
memory configurable (in config.xml).
The element is <shmem_work_items>
- feeder: make the size of the work item query configurable
(<feeder_query_size)
- feeder: remove code related to removing infeasible results
from shared mem.
This mechanism was never needed,
and I think a timeout would accomplish the same effect.
client/
app.C
app_start.C
client_state.C,h
cs_cmdline.C
sched/
feeder.C
sched_array.C
sched_config.C,h
sched_send.C
sched_shmem.C,h
sched_util.C
show_shmem.C
svn path=/trunk/boinc/; revision=12771
Windows for now.
- Change all references of mb_str() to c_str() in SkinManager.cpp
to avoid SIGILL's on Unicode environments.
- fixes#215: Customize the VBS script used to launch BOINC Manager
for each system we install on.
clientgui/
BOINCBaseView.cpp
SkinManager.cpp
win_build/installerv2/
BOINC.ism
BOINCx64.ism
win_build/installerv2/redist/Windows/
BOINC Manager.vbs (Deleted)
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.sln
boinccas95.vcproj
CACreateVBSShortcut.cpp, .h (Added)
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
svn path=/trunk/boinc/; revision=12764
BOINC Manager can now properly decode HTML entites for the
following elements:
Projects Tab:
Project Name
User Name
Team Name
Work Tab:
Project Name
Application Name
Transfers Tab:
Project Name
Messages Tab:
Project Name
Disk Tab:
Project Name
- fixes#212 - Info in columns misaligned on switching views
- Properly restore which tab view the user left from when going
to the advanced view from the simple view
- Fix the problem that caused the manager to wait for 7 seconds
to display anything on initial startup.
- Store the various Grid/List persisted data seperately so that
the different header sizes don't cause problems.
clientgui/
AdvancedFrame.cpp
BOINCBaseView.cpp, .h
BOINCGridCtrl.cpp
ViewMessages.cpp, .h
ViewMessagesGrid.cpp, .h
ViewProjects.cpp, .h
ViewProjectsGrid.cpp, .h
ViewResources.cpp, .h
ViewStatistics.cpp, .h
ViewTransfers.cpp, .h
ViewTransfersGrid.cpp, .h
ViewWork.cpp, .h
ViewWorkGrid.cpp, .h
lib/
gui_rpc_client_ops.C
svn path=/trunk/boinc/; revision=12761
with MHz instead of GHz in their names.
- user web: it no hosts eligible for merging, say so
instead of showing blank table
html/
inc/
host.inc
user/
host_edit_form.php
svn path=/trunk/boinc/; revision=12760