diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-05-15 22:49:40 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-05-15 22:49:40 +0400 |
commit | cdb4231369f4c06795e170f9cb003d8de1581f5b (patch) | |
tree | dd008237ecd92aa1101affbc9577809aa49b8dd5 /winsup/cygwin/posix.sgml | |
parent | 2922c6c4aaa754fee3fcaecddd618ec9dff84cc5 (diff) |
* cygwin.din (pthread_attr_getguardsize): Export.
(pthread_attr_setguardsize): Export.
(pthread_attr_setstack): Export.
(pthread_attr_setstackaddr): Export.
* init.cc (dll_entry): Remove wow64_test_stack_marker. Check for
unusual stack address by testing stack addresses from current TEB.
Check validity of _my_tls by testing if it's within the stack as
given in current TEB.
* miscfuncs.cc (struct thread_wrapper_arg): New structure used to
push all required information to thread_wrapper function.
(thread_wrapper): Wrapper function for actual thread function.
If an application stack has been given, change %ebp and %esp so that
the thread function runs on that stack. If the thread has been created
by CygwinCreateThread, set up the POSIX guard pages if necessary.
(CygwinCreateThread): New function.
* miscfuncs.h (CygwinCreateThread): Declare.
* ntdll.h (struct _TEB): Define all members up to Peb.
* posix.sgml (std-susv4): Move pthread_attr_getguardsize,
pthread_attr_setguardsize and pthread_attr_setstack here.
(std-deprec): Add pthread_attr_setstackaddr.
* sysconf.cc (sca): Set _SC_THREAD_ATTR_STACKADDR to
_POSIX_THREAD_ATTR_STACKADDR.
* thread.cc (pthread::precreate): Copy pthread_attr stackaddr and
guardsize members.
(pthread::create): Call CygwinCreateThread.
(pthread_attr::pthread_attr): Initialize guardsize.
(pthread_attr_setstack): New function.
(pthread_attr_setstackaddr): New function.
(pthread_attr_setguardsize): New function.
(pthread_attr_getguardsize): New function.
(pthread_getattr_np): Copy attr.guardsize.
* thread.h (pthread_attr): Add member guardsize.
* include/pthread.h (pthread_attr_getguardsize): Declare.
(pthread_attr_setguardsize): Declare.
* include/cygwin/version.h: Bump API minor number.
Diffstat (limited to 'winsup/cygwin/posix.sgml')
-rw-r--r-- | winsup/cygwin/posix.sgml | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/posix.sgml b/winsup/cygwin/posix.sgml index 235ee2f94..a576b353f 100644 --- a/winsup/cygwin/posix.sgml +++ b/winsup/cygwin/posix.sgml @@ -532,6 +532,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para> pthread_atfork pthread_attr_destroy pthread_attr_getdetachstate + pthread_attr_getguardsize pthread_attr_getinheritsched pthread_attr_getschedparam pthread_attr_getschedpolicy @@ -540,10 +541,12 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para> pthread_attr_getstacksize pthread_attr_init pthread_attr_setdetachstate + pthread_attr_setguardsize pthread_attr_setinheritsched pthread_attr_setschedparam pthread_attr_setschedpolicy pthread_attr_setscope + pthread_attr_setstack pthread_attr_setstacksize pthread_cancel pthread_cond_broadcast @@ -1237,6 +1240,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para> mktemp (SUSv3) on_exit (SunOS) pthread_attr_getstackaddr (SUSv3) + pthread_attr_setstackaddr (SUSv3) pthread_continue (XPG2) pthread_getsequence_np (Tru64) pthread_suspend (XPG2) @@ -1379,9 +1383,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para> posix_trace[...] posix_typed_[...] powl - pthread_attr_getguardsize - pthread_attr_setguardsize - pthread_attr_setstack pthread_barrier[...] pthread_condattr_getclock pthread_condattr_setclock |