this broke some projects' back-end code.
Make a new function (boinc_file_or_symlink_exists())
for use by the client when clearing out slot dirs
svn path=/trunk/boinc/; revision=14968
- update_versions: use __ (not :) as separator for plan class
- client: add plan_class to APP_VERSION;
an app version is now identified by platform/version/plan_class
- client CPU scheduler: don't assume apps use 1 CPU
- client: add avg_ncpus, max_cpus, flops, cmdline to RESULT
- scheduler: implement app planning scheme
Other changes:
- client: if symlink() fails, make a XML soft link instead
(for Unix running off a FAT32 FS)
- client: don't accept nonpositive resource share from AMS
- daemons and DB: check for error returns from enumerations,
and exit if so. Thus, if the MySQL server goes down,
all the daemons will soon exit.
The cron script will restart them every 5 min,
so when the DB server comes back up so will the project.
- web: show empty max CPU % as ---
- API: get rid of all_threads_cpu_time option (always the case now)
svn path=/trunk/boinc/; revision=14966
the accounts have been created.
- WINSETUP: Return the user rights to a known good state for 'boinc_master',
'boinc_project', 'boinc_admins', 'boinc_users', and 'boinc_projects'.
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.cpp
boinccas.def
boinccas.vcproj
CAGrantBOINCAdminsRights.cpp, .h (Added)
CAGrantBOINCMasterRights.cpp
CAGrantBOINCProjectRights.cpp
CAGrantBOINCProjectsRights.cpp, .h (Added)
CAGrantBOINCUsersRights.cpp, .h (Added)
CAHideBOINCMasterProfile.cpp, .h (Added)
CAHideBOINCProjectProfile.cpp, .h (Added)
lsaprivs.cpp, .h
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
svn path=/trunk/boinc/; revision=14964
- scheduler: wreq.core_client_version was being computed in
resend_lost_results() (which isn't necessarily called)
but its value was used elsewhere.
svn path=/trunk/boinc/; revision=14948
This will allow applications to access shared libraries
by their logical names,
which simplifies things when you have multiple platforms,
and the apps (or libraries) refer to shared libraries
by names that don't include the platform.
This shouldn't impact the API - boinc_resolve_filename()
will open the file, see that it's not an XML link file,
and the symbolic link will be used directly.
At some point we can change boinc_resolve_filename() on Unix
to be a no-op if the client is 6.2+
- client (Unix):
Append the slot dir to LD_LIBRARY_PATH.
svn path=/trunk/boinc/; revision=14944
- DB code: remove "is_high_priority" stuff.
- scheduler: merge find_app_version() into get_app_version().
Have the latter memoize its results (both positive and negative).
Have it call app_plan() for apps with nonempty plan_class.
- scheduler: first steps towards improved selectability of log messages.
It will eventually be like the client,
where you can select among various types of messages.
- feeder: if can't unlink the reread_db trigger file, exit
(else we'd go into an infinite loop)
svn path=/trunk/boinc/; revision=14940
NOTE: Do not use the at() function on a vector unless you
also use a try/catch handler.
- MGR: Remove code duplication
clientgui/
sg_ClientStateIndicator.h
sg_ProgressBar.cpp, .h
sg_ViewTabPage.cpp
svn path=/trunk/boinc/; revision=14936
- MGR: Launch the graphics app as the user instead of 'boinc_project'.
clientgui/
MainDocument.cpp
clientscr/
screensaver.cpp
svn path=/trunk/boinc/; revision=14917
returns an ERROR_ACCESS_DENIED error code fallback
to the original shmem_name.
api/
graphics2_util.C
lib/
shmem.C
svn path=/trunk/boinc/; revision=14911
to allow validator to assign different credit
to different instances of a job
- Scheduler: if can't open DB, return <project_is_down/>
(fixes#578)
- clean up logic of modify_claimed_credit
- feeder: for -priority_order_create_time, use workunitid
rather than create time (faster for the DB)
from Kevin Reed
svn path=/trunk/boinc/; revision=14908
and apps that use coprocessors.
There now can be several app_versions for the same
(app, platform, version_num) combination.
This changes a number of things.
- Added app_version.plan_class field to DB
- update_versions now looks for a :plan-class in the
file or directory name, and puts it in the app_version's DB record
- Change uniqueness constraint to include plan_class
- Feeder: the feeder was putting non-deprecated app_versions
in shared mem, and leaving it to the scheduler to
find the latest version for a given platform.
This is dumb.
Instead, for each app/platform pair the feeder now
finds the highest version number of a non-deprecated app version,
and enumerates all non-deprecated app_versions with that
app/platform/version
- Scheduler: add a BEST_APP_VERSION data structure that keeps track,
for each app, what the best app_version is for this host.
This saves the work of recomputing it for each job.
svn path=/trunk/boinc/; revision=14906
graphics applications so that the memory can be shared across terminal
server sessions.
- API: Add some trace messages to window creation and shutdown events, it
is all logged to stderr.
- API: Add some trace messages for loading graphic files.
- API: Add some trace messages for loading font files.
- API: There can be only one hInstance and it is assigned to the app at
startup via winmain(). Use it throughout the graphics2 impl.
- CC: Use the service security token to startup worker applications.
- MGR: Use the interactive security token to startup graphics
applications.
- LIB: Create two different logon methods, one for logging on interactively
(graphics applications) and one for services (worker application).
api/
graphics2_util.C
graphics2_win.C
gutil.C
txf_util.C
client/
app_start.C
lib/
proc_control.C, .h
win_build/
boincmgr_curl.vcproj
svn path=/trunk/boinc/; revision=14905
them, the default ACL limits read/write access to SYSTEM and boinc_master
when run in secure mode.
lib/
boinc_win.h
shmem.C
svn path=/trunk/boinc/; revision=14903