summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/cygwin.din
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-05-15 18:49:40 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-05-15 18:49:40 +0000
commitcdb4231369f4c06795e170f9cb003d8de1581f5b (patch)
treedd008237ecd92aa1101affbc9577809aa49b8dd5 /winsup/cygwin/cygwin.din
parent2922c6c4aaa754fee3fcaecddd618ec9dff84cc5 (diff)
downloadcygnal-cdb4231369f4c06795e170f9cb003d8de1581f5b.tar.gz
cygnal-cdb4231369f4c06795e170f9cb003d8de1581f5b.tar.bz2
cygnal-cdb4231369f4c06795e170f9cb003d8de1581f5b.zip
* 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/cygwin.din')
-rw-r--r--winsup/cygwin/cygwin.din4
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index 2eafd2c8c..12c3f3d57 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -1174,6 +1174,7 @@ psignal SIGFE
pthread_atfork SIGFE
pthread_attr_destroy SIGFE
pthread_attr_getdetachstate SIGFE
+pthread_attr_getguardsize SIGFE
pthread_attr_getinheritsched SIGFE
pthread_attr_getschedparam SIGFE
pthread_attr_getschedpolicy SIGFE
@@ -1183,10 +1184,13 @@ pthread_attr_getstackaddr SIGFE
pthread_attr_getstacksize SIGFE
pthread_attr_init SIGFE
pthread_attr_setdetachstate SIGFE
+pthread_attr_setguardsize SIGFE
pthread_attr_setinheritsched SIGFE
pthread_attr_setschedparam SIGFE
pthread_attr_setschedpolicy SIGFE
pthread_attr_setscope SIGFE
+pthread_attr_setstack SIGFE
+pthread_attr_setstackaddr SIGFE
pthread_attr_setstacksize SIGFE
pthread_cancel SIGFE
_pthread_cleanup_pop SIGFE