and don't generate an error when parsing client version
release. Karl, I think the broken print statement
was introduced between rev 1.41 and rev 1.42.
svn path=/trunk/boinc/; revision=8439
name of elapsed_time() to elapsed_wallclock_time().
- Backend logging statements on exit() which echo elapsed run time to logs now
do this with much higher printed precision.
- Backend logging, separate scheduler requests with an almost blank line
svn path=/trunk/boinc/; revision=8027
reliable to use flock/lockf/fnctl file locking with buffered
IO. This is because the stream libraries might unexpectedly
open/close/dup file descriptors on you. So I have modified
the file write/append functions to use raw IO rather than
buffered IO. In doing this I also found and fixed some small
bugs. There is no guarantee that one can mix flock/lockf/fnctl
file locking so I have settled on fnctl since it is POSIX and
gives the most control.
svn path=/trunk/boinc/; revision=5891
append mode then fseek() then write to the file, the fseek() HAS
NO EFFECT. This is documented ANSI C. So I have eliminated the
fseek. We now check that the file size corresponds exactly to the
claimed offset of the data. If they do not agree then return a
transient error to force the host to ask again for the file length
and re-transmit data.
svn path=/trunk/boinc/; revision=5866
file length, check first that the file is not already
in open (locked) by another file_upload_handler. If the
file IS open (locked), then do NOT hand back the file length.
Instead return a transient error. This will prevent
transmission of upload data starting at the wrong offset.
- To help understand when/why multiple file_upload_handlers
are trying to write to the same file, set default log level
to DEBUG. Also log messages at level CRITICAL if there is
an attempt to write to a locked file. We may want to change
this level to DEBUG in the future, if this turns out to be
'normal' TCP buffering of data between host and server.
svn path=/trunk/boinc/; revision=5851
from trying to upload the SAME file, use lockf() to place an advisory lock on
the file. David, I probably should have discussed this with you first, but it's
too early in the morning. Please revert if this is a mistake!
svn path=/trunk/boinc/; revision=5837
of logging. This is intended to help debug file uploading
problems, where apache kills the file upload handler because
something is going wrong.
svn path=/trunk/boinc/; revision=5824
of gcc to try and force them to not complain with -Wall but to always
include this, I decided to take a simpler approach. All these strings
now have global linkage. To prevent namespace conflicts they all
have different names. For the record, the variable extension is a hash made of the first ten characters of the md5sum of the file path, eg:
md5hash=`boinc/api/x_opengl.C | md5sum | cut -c 1-10`
svn path=/trunk/boinc/; revision=4979
the top of all .C files. This means that 'string' or 'ident'
run on an executable will tell you the exact file versions used
in building it, since CVS replaces $Id$ with a complete version ID
string. Declaration is volatile so that the compiler won't remove
it even under agressive optimizations.
svn path=/trunk/boinc/; revision=4610