* cygwin.din (pthread_attr_getstack): Export.
(pthread_attr_getstackaddr): Export. (pthread_getattr_np): Export. * ntdll.h (enum _THREAD_INFORMATION_CLASS): Add ThreadBasicInformation. (struct _THREAD_BASIC_INFORMATION): Define. (NtQueryInformationThread): Declare. * posix.sgml (std-susv4): Add pthread_attr_getstack. (std-gnu): Add pthread_getattr_np. (std-deprec): Add pthread_attr_getstackaddr. (std-notimpl): Remove pthread_attr_[gs]etstackaddr, as they were removed from SUSv4. * thread.cc (pthread_attr::pthread_attr): Initialize stackaddr. (pthread_attr_getstack): New function. (pthread_attr_getstackaddr): New function. (pthread_attr_setstacksize): Return EINVAL if passed size less than PTHREAD_STACK_MIN, as required by POSIX. (pthread_getattr_np): New function. * thread.h (class pthread_attr): Add stackaddr member. * include/pthread.h (pthread_attr_getstack): Declare. (pthread_attr_getstackaddr): Declare unconditionally. (pthread_attr_setstack): Declare inside false conditional for reference. (pthread_getattr_np): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
This commit is contained in:
@ -76,6 +76,8 @@ int pthread_attr_getinheritsched (const pthread_attr_t *, int *);
|
||||
int pthread_attr_getschedparam (const pthread_attr_t *, struct sched_param *);
|
||||
int pthread_attr_getschedpolicy (const pthread_attr_t *, int *);
|
||||
int pthread_attr_getscope (const pthread_attr_t *, int *);
|
||||
int pthread_attr_getstack (const pthread_attr_t *, void **, size_t *);
|
||||
int pthread_attr_getstackaddr (const pthread_attr_t *, void **);
|
||||
int pthread_attr_init (pthread_attr_t *);
|
||||
int pthread_attr_setdetachstate (pthread_attr_t *, int);
|
||||
int pthread_attr_setinheritsched (pthread_attr_t *, int);
|
||||
@ -88,7 +90,7 @@ int pthread_attr_setscope (pthread_attr_t *, int);
|
||||
* Not supported or implemented. The prototypes are here so if someone greps the
|
||||
* source they will see these comments
|
||||
*/
|
||||
int pthread_attr_getstackaddr (const pthread_attr_t *, void **);
|
||||
int pthread_attr_setstack (pthread_attr_t *, void *, size_t);
|
||||
int pthread_attr_setstackaddr (pthread_attr_t *, void *);
|
||||
#endif
|
||||
|
||||
@ -200,6 +202,7 @@ void pthread_testcancel (void);
|
||||
|
||||
/* Non posix calls */
|
||||
|
||||
int pthread_getattr_np (pthread_t, pthread_attr_t *);
|
||||
int pthread_suspend (pthread_t);
|
||||
int pthread_continue (pthread_t);
|
||||
int pthread_yield (void);
|
||||
|
Reference in New Issue
Block a user