diff options
Diffstat (limited to 'README.NONPORTABLE')
| -rw-r--r-- | README.NONPORTABLE | 119 | 
1 files changed, 119 insertions, 0 deletions
| diff --git a/README.NONPORTABLE b/README.NONPORTABLE new file mode 100644 index 0000000..7dfba7f --- /dev/null +++ b/README.NONPORTABLE @@ -0,0 +1,119 @@ +Non-portable functions included in the library +---------------------------------------------- + +HANDLE +pthread_getw32threadhandle_np(pthread_t thread); + +	Returns the win32 thread handle that the POSIX +	thread "thread" is running as. + +	Applications can use the win32 handle to set +	win32 specific attributes of the thread. + +int +pthread_delay_np (const struct timespec *interval); + +        This routine causes a thread to delay execution for a specific +        period of time. This period ends at the current time plus the +        specified interval. The routine will not return before the end +        of the period is reached, but may return an arbitrary amount +        of time after the period has gone by. This can be due to +        system load, thread priorities, and system timer granularity. + +        Specifying an interval of zero (0) seconds and zero (0) +        nanoseconds is allowed and can be used to force the thread +        to give up the processor or to deliver a pending cancelation +        request. + +        This routine is a cancelation point. + +        The timespec structure contains the following two fields: + +                tv_sec is an integer number of seconds. +                tv_nsec is an integer number of nanoseconds.  + +        Return Values + +        If an error condition occurs, this routine returns an integer value +        indicating the type of error. Possible return values are as follows: + +        0          Successful completion.  +        [EINVAL]   The value specified by interval is invalid.  + + +BOOL +pthread_win32_process_attach_np (void); + +BOOL +pthread_win32_process_detach_np (void); + +BOOL +pthread_win32_thread_attach_np (void); + +BOOL +pthread_win32_thread_detach_np (void); + +	These functions contain the code normally run via dllMain +	when the library is used as a dll but which need to be +	called explicitly by an application when the library +	is statically linked. + +	You will need to call pthread_win32_process_attach_np() before +	you can call any pthread routines when statically linking. +	You should call pthread_win32_process_detach_np() before +	exiting your application to clean up. + +	pthread_win32_thread_attach_np() is currently a no-op, but +	pthread_win32_thread_detach_np() is needed to clean up +	after Win32 threads that have called pthreads routines +	have exited. + +	These functions invariably return TRUE except for +	pthread_win32_process_attach_np() which will return FALSE +	if pthreads-win32 initialisation fails. + + +int +pthreadCancelableWait (HANDLE waitHandle); + +int +pthreadCancelableTimedWait (HANDLE waitHandle, DWORD timeout); + +	These two functions provide hooks into the pthread_cancel +	mechanism that will allow you to wait on a Windows handle +	and make it a cancellation point. Both functions block +	until either the given w32 handle is signaled, or +	pthread_cancel has been called. It is implemented using +	WaitForMultipleObjects on 'waitHandle' and a manually +	reset w32 event used to implement pthread_cancel. + + +void +pthread_mutexattr_setforcecs_np(pthread_mutexattr_t *attr, +				int forcecs); + +        This function is no longer required as pthreads-win32 +        mutexes are now based entirely on Win32 critical +        sections. Retained for backward compatibility. + +	Allows an application to force the library to use +	critical sections rather than win32 mutexes as +	the basis for any mutex that uses "attr". +	Critical sections are significantly faster than +	mutexes. + +	Values for "forcecs" are: +	PTHREAD_MUTEX_AUTO_CS_NP +		- allow the library to decide based on +		  availability of tryEnterCriticalSection(). +		  The library determines this at runtime +		  and will use critical sections whenever +		  tryEnterCriticalSection() is available. +	PTHREAD_MUTEX_FORCE_CS_NP +		- force use of critical sections even if +		  tryEnterCriticalSection() isn't provided +		  by the system, but you'd better not try +		  to use pthread_mutex_trylock() on any +		  mutex that uses "attr" if you want your +		  application to work on all versions of +		  Windows. | 
