boinc/api
David Anderson 17a4ab8db9 David 11 Dec 2012
- Win process control (affects API and wrapper):
		Since Win doesn't have an API for process suspend/resume,
		we were suspending processes by
			1) enumerating all the threads in the system (typically several thousand)
			2) suspending those belonging to the given process
		The problem: for each thread, the code was calling a function
		in diagnostics_win.cpp to see if the thread was exempted from suspension.
		This check (which is unnecessary anyway if we're suspending another process)
		was surrounded by a semaphore acquire/release.
		The result: performance problems.
		It could take a minute to suspend the threads.
		Solution:
			1) do the check for exemption only if we're suspending threads
				in our own process (i.e. from the API)
			2) if we're suspending multiple processes, enumerate the threads
				only once, and see if each one belongs to any of the processes
			3) have the wrapper elevate itself to normal priority.
				Otherwise it can get preempted for long periods,
				sometimes in the middle of scanning the threads.
		Note: post-9x versions of Win have a process group API that includes suspend/resume.
		We'll switch to this soon.
2013-03-04 17:02:40 +01:00
..
ttf/liberation-fonts-ttf-2.00.0 API, SCR: Switch from *.txf fonts to TrueType fonts in graphics apps, ensuring that all related files have no licensing issues 2012-08-02 07:19:11 +00:00
Makefile.am Another out-of-tree build fix 2013-03-01 16:19:16 +01:00
Makefile.mingw - API: compile fixes for MinGW. Fixes #955. from Matt Arsenault 2011-03-26 02:19:21 +00:00
boinc_api.cpp David 11 Dec 2012 2013-03-04 17:02:40 +01:00
boinc_api.h - API: add boinc_set_min_checkpoint_period(int). 2012-08-10 22:20:41 +00:00
boinc_api_fortran.cpp - rename .C files to .cpp so that Doxygen will work 2008-09-26 18:20:24 +00:00
boinc_gl.h - Updates Linux notifications to use current libnotify. 2011-09-27 19:45:27 +00:00
boinc_glut.h - Updates Linux notifications to use current libnotify. 2011-09-27 19:45:27 +00:00
boinc_opencl.cpp OpenCL: Change type argument of new boinc_get_opencl_ids() API from char* to int; it now accepts PROC_TYPE_NVIDIA_GPU, PROC_TYPE_AMD_GPU or PROC_TYPE_INTEL_GPU 2013-03-04 15:23:38 +01:00
boinc_opencl.h OpenCL: Change type argument of new boinc_get_opencl_ids() API from char* to int; it now accepts PROC_TYPE_NVIDIA_GPU, PROC_TYPE_AMD_GPU or PROC_TYPE_INTEL_GPU 2013-03-04 15:23:38 +01:00
graphics2.cpp - client/libs/samples: remove "#define read _read" etc. from boinc_win.h 2009-08-22 17:00:19 +00:00
graphics2.h - get_project_config.php: include plan classes in platform list; 2009-04-03 21:55:26 +00:00
graphics2_unix.cpp - define MAXPATHLEN, if needed, in filesys.h 2011-03-24 09:32:02 +00:00
graphics2_util.cpp - A bunch of tweaks from Steffen Moller, e.g. using MAXPATHLEN 2012-09-21 03:52:24 +00:00
graphics2_win.cpp - API: Use CloseWindow() to respond to the API Defined WM_SHUTDOWNGFX event just in case CloseWindow() does something more than just send the WM_CLOSE event to the window proc. 2013-03-01 16:03:32 +01:00
graphics_api.cpp - rename .C files to .cpp so that Doxygen will work 2008-09-26 18:20:24 +00:00
graphics_api.h - added copyright and license info to .C, .cpp, .h files 2008-08-06 18:36:30 +00:00
graphics_data.cpp - rename .C files to .cpp so that Doxygen will work 2008-09-26 18:20:24 +00:00
graphics_data.h - added copyright and license info to .C, .cpp, .h files 2008-08-06 18:36:30 +00:00
graphics_impl.cpp - API: remove BOINC_OPTIONS::worker_thread_stack_size 2008-12-19 18:14:02 +00:00
graphics_impl.h - added copyright and license info to .C, .cpp, .h files 2008-08-06 18:36:30 +00:00
graphics_impl_lib.cpp - rename .C files to .cpp so that Doxygen will work 2008-09-26 18:20:24 +00:00
graphics_lib.cpp - API: add boinc_init_parallel(). 2010-01-01 02:50:56 +00:00
graphics_lib.h - added copyright and license info to .C, .cpp, .h files 2008-08-06 18:36:30 +00:00
gutil.cpp - client: replace ignore_nvidia_dev etc. with an array. 2013-03-04 16:44:52 +01:00
gutil.h API, SCR: Switch from *.txf fonts to TrueType fonts in graphics apps, ensuring that all related files have no licensing issues 2012-08-02 06:53:11 +00:00
gutil_text.cpp API: remove references to removed files bmplib.h and tgalib.h 2012-08-03 22:07:04 +00:00
mac_icon.cpp - Updates Linux notifications to use current libnotify. 2011-09-27 19:45:27 +00:00
macglutfix.m API: fix compile error on Mac 2012-02-23 00:37:30 +00:00
make_app_icon_h.cpp - fixes of various (non-critical) fd and memory leaks. 2012-06-10 05:38:34 +00:00
reduce.h - added copyright and license info to .C, .cpp, .h files 2008-08-06 18:36:30 +00:00
reduce_lib.cpp - Remove BOINC_RCSID tags from source files, we are doing branching and tagging 2010-03-12 16:51:57 +00:00
reduce_main.cpp - server: rename process_wu_template() to process_input_template(), 2011-09-01 19:58:27 +00:00
static_graphics.cpp - rename .C files to .cpp so that Doxygen will work 2008-09-26 18:20:24 +00:00
ttfont.cpp Fix mixed line endings 2012-08-03 02:02:05 +00:00
ttfont.h - SS: Update project files to use FreeType and FTGL on Windows. 2012-08-03 01:18:20 +00:00
windows_opengl.cpp - API: fix various bugs related to process control and critical sections. 2012-03-08 22:42:44 +00:00
x_opengl.cpp - Compile fixes for Fedora core 17. From Christian B. Fixes #1194. 2012-07-02 18:51:02 +00:00
x_opengl.h - added copyright and license info to .C, .cpp, .h files 2008-08-06 18:36:30 +00:00