not the worker signal handler.
There's no reason to call it from the signal handler -
it returns the CPU for the entire process, not the calling thread.
And it may be asynch-signal-handler-unsafe.
- API: comment out checks for bad CPU times.
I don't think this is needed now, and in some cases it's wrong
(multi-threaded apps can accumulate CPU faster than real time)
- API, Unix: in boinc_calling_thread_cpu_time(), don't retry getrusage().
- Bossa: switch to better class structure (suggested by Nicolas Alvarez).
Haven't switched to mysqli yet, but will later.
Also various other Bossa fixes
svn path=/trunk/boinc/; revision=13855
and access to worker_thread_ru.
This was being used in the worker signal handler,
which is bad because pthread_mutex_lock() can allocate memory.
I don't think this matters; at worst we might get
CPU times off by < 1 sec.
svn path=/trunk/boinc/; revision=13844
like source code and text files. I skipped to check most files in html/
and mac_*/ though.
- Added svn:executable to tools/watch_tcp because it has a shebang.
svn path=/trunk/boinc/; revision=13819
- move client sandbox-specific code to a new file, sandbox.C
- remove g_use_sandbox from util.C; move to MainDocument.cpp (manager)
and sandbox.C (client)
- don't declare check_security() in util.h; it's not in util.C
- don't call remove_project_owned_file_or_dir() in
boinc_delete_file_aux() or boinc_rmdir();
rather, at the points in the client that delete
dirs that are usually owned by boinc_projects,
call remove_project_owned_file_or_dir() first,
then clean_out_dir().
- rename boinc_exec() to switcher_exec() and move it to sandbox.C
Note: this change was sparked by needing to remove a call to getgrnam()
from boinclib, to avoid requiring the same version of glibc
on both compile and target hosts
svn path=/trunk/boinc/; revision=13784
at most one regular and one full-screen graphics window can be open,
and a "hide" message kills the full-screen window if one exists,
else a regular window.
Keep track of the PIDs separately for regular and full-screen.
Also, don't send a "hide" ack if we don't do graphics.
svn path=/trunk/boinc/; revision=13697
in a V6 app (and launching/killing the graphics app)
- API: start timer thread even if in standalone mode
(needed to get timer callbacks for V6 graphics)
- API: remove BOINCSetForegroundWindow stuff
- API: call DestroyWindow instead of boinc_exit() in WM_CLOSE.
boinc_exit() is the wrong thing to call - e.g. it tries to delete
the lock file, resulting in a 5-sec delay on exit
svn path=/trunk/boinc/; revision=13679
in get_file_size() RPC, check if volume has < 1MB available space
and if so return transient error.
This prevents client from trying upload,
which apparently sends entire file even if
handler fails at the beginning
- API, Win: remove use of GetTickCount(); use dtime() instead
- use new BOINC logo in sample project home page
svn path=/trunk/boinc/; revision=13574
- client: parse <cpid_time> in scheduler reply;
add cpid_time field to PROJECT.
This defaults to the user_create_time.
In deciding which CPID to send in a scheduler request,
use the one with oldest cpid_time (not user_create_time).
This is the client half of fixing a bug that causes
CPID to flip/flop between to values in a certain case.
svn path=/trunk/boinc/; revision=13531
graphics window every second.
- LIB: CreateProcess always returns a 1 on success, which means
the last part of the run_program function was never being
executed.
clientscr/
screensaver_win.cpp
lib/
util.C
svn path=/trunk/boinc/; revision=13323
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
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
words from a space or comma delimited string. Returns a space delimited string.
(i.e. "this is this a is test" -> "this is a test").
svn path=/trunk/boinc/; revision=11194
have inserted a new averaging function
update_credit_per_cpu_sec() into lib/util.C. This function
should be called from validator.C, and then the value of
credit_per_cpu_sec should be exported by db_dump.C in the
host_id.gz stats file.
David, Eric, if you could check the code and logic here I would
be grateful. I won't modify validator.C or db_dump.C until
we've agreed on this.
svn path=/trunk/boinc/; revision=11134