the user by default cannot create globally shared objects. This
becomes a problem when protected application mode is turned off
for keyboard and mouse detection. Basically all of the components
would start up and fail to create the shared memory segment
and report the error through stderr which most people don't look
at by default.
The client is now the only component that is allowed to create the
shared memory segment, if creating the global segment fails it'll
create a local one instead. Both the tray and manager now just attach
to the existing segment, first trying the global one then the local
one.
client/
main.C
clientgui/
BOINCGUIApp.cpp, .h
clientlib/win/
boinc_dll.cpp
IdleTracker.cpp
clienttray/
tray_win.cpp, .h
win_build/
boinc.sln
boinctray.vcproj
svn path=/trunk/boinc/; revision=15767
- 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
A file upload sends request.
The network is down, and something (e.g. a router)
sends a long (> 4KB) error page.
This overruns the 4KB buffer of HTTP_OP::req1.
Solution: keep track of the size of the buffer,
and don't overrun it.
Also move the body of a huge for loop into a separate function.
From Ian Hay.
Fixes#705
svn path=/trunk/boinc/; revision=15744
- client: better messages reporting coprocessors
- manager: bounds checks to avoid wxwidgets asserts
when job CPU estimates are absurdly large
svn path=/trunk/boinc/; revision=15644
libcudart{32,64}.so is bundled with client.
client loads it and if successful calls the device-query functions.
- client, Linux: append the current directory
(i.e., the BOINC data directory) to the LD_LIBRARY_PATH for apps.
This goes after the project dir and the slot dir.
This lets apps link to libcudartX.so.
NOTE: this is not recommended; better to include it with your app.
- client: allow for multiple messages from coproc probing
- fixed indentation in cs_platforms.C
svn path=/trunk/boinc/; revision=15591
1) the assimilator creates a job_summary_WUID file saying
- what host did the job
- error status if any
- info about missing output files
2) all output files are now optional.
3) the assimilator deletes temp files (templates, job dir file)
svn path=/trunk/boinc/; revision=15551
This tells the sample bitwise validator to ignore this file.
- client: parse the above field (avoid "unparsed XML" msgs)
svn path=/trunk/boinc/; revision=15514
- client: change CUDA detection on Linux and Mac.
Look for libcuda.so in /usr/lib/nvidia and /usr/lib64/nvidia.
If we find it, assume that libcudart is in the library path.
svn path=/trunk/boinc/; revision=15477
don't create shmem segs in global name space.
Hopefully this will fix a bug
(on Vista, UAC off, non-protected install)
where apps fail to attach to shmem.
svn path=/trunk/boinc/; revision=15444
- 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
The problem: the variable ordered_scheduled_results
has a list of pointers to RESULTs.
These pointers become dangling when the project is detached.
It's not sufficient to do schedule_cpus() because this returns
immediately if # projects == 0.
So clear the list directly.
Rom: please port to 6.2
svn path=/trunk/boinc/; revision=15407
This supports apps that can do variable amounts of computing;
they can boinc_finish() if their deadline is near.
Rom: please back-port.
svn path=/trunk/boinc/; revision=15395
and clear all timeout variables.
This should fix the situation where, say:
1) the user sets the system clock forward by a year;
2) all projects get their min_rpc_time set;
3) the user sets the system clock back to the correct time.
Previously, BOINC would not do anything for a year.
Note: a restart of BOINC is required to fix things.
It would be harder to do this on the fly.
svn path=/trunk/boinc/; revision=15314
This prevents a DoS by sending <auth1> over and over,
filling the send buffer and eventually causing the client to block.
- Unix build: if m4 missing, check for gm4
svn path=/trunk/boinc/; revision=15282