- Update to libtool 1.5.24
- build environment: Major automake changes that I've been warning about
for some time.
- Now uses libtool to build libraries.
- Builds separate boinc_fcgi and sched_fcgi libraries for use with
FCGI server components.
- New macro "BOINC_CHECK_LIB_WITH" that executes a "AC_CHECK_LIB" on
a library only if --with-libname[=DIR] is specified on the configure
command line. This is to allow inclusion of libraries when the
ssl, gtk, wxWidgets, or other configuration is incorrect for static
libraries.
- Added a lot of "--with-*" for some libraries that might be required for
static builds.
- The sea directory has been moved to packages/generic. Changes to sea
and the associated scripts might be required to better make use of the
staging mechanism and shared libraries.
- Fixed includes of boinc_fcgi.h in many files.
- Fixed places where FCGI_FILE needs to be used implicitly.
- Fixed missing define of _SC_PAGESIZE on hosts that define only
_SC_PAGE_SIZE.
- Moved build of boinc_cmd (and source file) from lib to client
svn path=/trunk/boinc/; revision=16904
- web: check whether to show profile in separate function
from displaying profile; eliminate double headers
- scheduler: finish purge of redundant arguments
svn path=/trunk/boinc/; revision=16726
- API: use non-verbose option to zip
- scheduler: if multiple_client_per_host is set,
don't mark results as over if get repeat CPID
svn path=/trunk/boinc/; revision=16445
we're the main program (otherwise we didn't lock it in
the first place, and a crash results). From Artyom Sharov.
- scheduler: add support for the GCL simulator,
which uses special versions of backend programs
that use virtual time,
and that wait for signals instead of sleep()ing.
To compile:
make clean
configure CXXFLAGS="-DGCL_SIMULATOR"
make
svn path=/trunk/boinc/; revision=16038
- SAMPLES: Add all the samples to the BOINC solution and delete the
old solution.
- LIB: Clean up a bunch of warnings.
api/
texfont.C
lib/
crypt.C
lib/
filesys.C
samples/wrapper/
wrapper.C
win_build/
boinc.sln
glut.vcproj
image_libs.vcproj
jpeglib.vcproj
libboinc_staticcrt.vcproj
libboincapi.vcproj
libboincapi_staticcrt.vcproj
libgraphics2.vcproj
multi_thread.vcproj
sleeper.vcproj
uc2.vcproj
uc2_graphics.vcproj
upper_case.vcproj
worker.vcproj
wrapper.vcproj
svn path=/trunk/boinc/; revision=15819
- scheduler: fix bug in adaptive replication:
if send an unreplicated job to untrusted host,
set both wu.target_nresults and wu.min_quorum to app.target_nresults.
svn path=/trunk/boinc/; revision=15762
Otherwise, in compound apps we'll have both monitor and worker
reading the messages; this is a race condition
and will lead to spurious "no heartbeat" exits.
svn path=/trunk/boinc/; revision=15548
mostly so that the parse function could assume
that everything was initially zero.
However, various back-end functions pass around SCHED_CONFIG&
as an argument (also named "config").
This creates a shadow, which is always bad.
Worse is the possibility that some projects have back-end programs
that have a SCHED_CONFIG variable that's automatic,
and therefore isn't zero initially,
and therefore isn't parsing correctly.
To fix this, I changed the 2 vectors in SCHED_CONFIG into pointers,
and have the parse routine zero the structure.
I was tempted to remove the SCHED_CONFIG& args to back-end functions,
but this would have broken some projects' code.
I did, however, change the name from config to config_loc
to avoid shadowing.
Also fixed various other compiler warnings.
svn path=/trunk/boinc/; revision=15541
- change ERR_CHILD_FAILED TO EXIT_CHILD_FAILED
(it's an exit code, not a function error code)
- client: reduce severity of benchmark error
- scheduler: compile fix
svn path=/trunk/boinc/; revision=15423
added client/scripts to default client build
removed sea from the default clientgui build
added locale/client to the default clientgui build
moved installed headers from $(includedir) to $(pkgincludedir) which
is $(includedir)/boinc by default.
removed redefinitions of $(includedir) from Makefiles.
- configure:
added locale/client/Makefile to AC_CONFIG_FILES
svn path=/trunk/boinc/; revision=15300
for getting info on EDF simulation;
change output from seconds to hours
- API: remove extern "C" from graphics API
(convince me it's needed before restoring)
svn path=/trunk/boinc/; revision=15148
- Fixed bug in x_opengl.C. On systems where putenv() adds the string to
the environment rather than copies it, the environment would end up
containing a random peice of the stack where the DISPLAY variable had
been temporarily stored.
svn path=/trunk/boinc/; revision=15134
- configure script:
- Added checks for functions strdup(), strdupa(),
daemon(), stat64(), strcasestr()
- Fixed problems with kc_mysql.m4 and wxWidgets.m4 returning
invalid CFLAGS and LIBS flags.
- Fixed incorrect order of pthread flag checking on solaris.
- New files: lib/unix_util.[Ch]. Currently contains implementation of
daemon() for systems that lack it.
- Access to binary files in /proc was failing on some systems when compiled
with 64 bit file access. Rearranged headers and defines to force 32bit
file access in hostinfo_unix.C
- all_tty_idle() didn't work as advertised on any system as far as I can
tell. I rewrote it to check ttys that are not named /dev/tty[1-9].
The old implementation was modifying a statically allocated read-only
string, (and crashing on some systems) anyway.
- added implementation of non-standard function strcasestr() to str_util.C
- added #define of MAP_FILE to shmem.C, because it is missing from most
unix systems, (and is unnecessary on linux anyway).
- other minor bug fixes.
svn path=/trunk/boinc/; revision=14996
- 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
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
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
The design has been changed to constant #threads per app version
Various changes from Kevin Reed/WCG:
- server: add workunit.rsc_bandwidth_bound: if nonzero,
send this WU only to hosts with that much download bandwidth
- assimilators: if a handler returns DEFER_ASSIMILATION,
the WU remains in INIT state and will be handled when the
next instance completes.
Useful if you want the assimilator to see all instances.
- scheduler: when setting result.outcome = DETACHED,
set received_time to now
- scheduler: removed the reliable_time and reliable_min_avg_credit
options
- scheduler/web: add optional <allow_non_preferred_projects>
in project preferences.
If present, user will accept work from non-selected apps
if no work is available for selected apps
- scheduler: improved messages for projects with multiple apps
- scheduler: added config options
<granted_credit_weight> and <granted_credit_ramp_up>.
Used in calculating host.claimed_credit_per_cpu_sec,
but I'm not sure how.
- Added two new credit-granting formulas (validate_util.C):
stddev_credit() and two_credit()
- server DB: add rollback_transaction() and affected_rows() to DB_CONN
NOTE: DB update required
svn path=/trunk/boinc/; revision=14870
Lets you assign a WU to a particular host,
to one or all hosts belonging to a user or team, or to all hosts.
See http://boinc.berkeley.edu/trac/wiki/AssignedWork
Disabled unless you include <enable_assignment> in config.xml
Uses a new DB table.
Tested but only a little.
- Server: code cleanup; moved result-handling to a new file,
and removed the PLATFORM_LIST arg to everything
(put it in SCHEDULER_REQUEST instead)
svn path=/trunk/boinc/; revision=14767