* cygwin.din (pthread_sigqueue): Export.

* posix.sgml (std-gnu): Add pthread_sigqueue.
	* thread.cc (pthread_sigqueue): New function.
	* include/thread.h (pthread_sigqueue): New function.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
This commit is contained in:
Yaakov Selkowitz 2012-01-06 07:12:18 +00:00
parent 1f94817747
commit 50350cafb3
6 changed files with 31 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2012-01-06 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* cygwin.din (pthread_sigqueue): Export.
* posix.sgml (std-gnu): Add pthread_sigqueue.
* thread.cc (pthread_sigqueue): New function.
* include/thread.h (pthread_sigqueue): New function.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2012-01-02 Christopher Faylor <me.cygwin2011@cgf.cx>
* path.cc (get_current_dir_name): Avoid memory leak. Don't return PWD

View File

@ -1270,6 +1270,7 @@ pthread_setschedparam SIGFE
pthread_setschedprio SIGFE
pthread_setspecific SIGFE
pthread_sigmask SIGFE
pthread_sigqueue SIGFE
pthread_suspend SIGFE
pthread_spin_destroy SIGFE
pthread_spin_init SIGFE

View File

@ -427,12 +427,13 @@ details. */
256: Add CW_ALLOC_DRIVE_MAP, CW_MAP_DRIVE_MAP, CW_FREE_DRIVE_MAP.
257: Export getpt.
258: Export get_current_dir_name.
259: Export pthread_sigqueue.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
#define CYGWIN_VERSION_API_MINOR 258
#define CYGWIN_VERSION_API_MINOR 259
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible

View File

@ -202,6 +202,7 @@ void pthread_testcancel (void);
/* Non posix calls */
int pthread_getattr_np (pthread_t, pthread_attr_t *);
int pthread_sigqueue (pthread_t *, int, const union sigval);
int pthread_suspend (pthread_t);
int pthread_continue (pthread_t);
int pthread_yield (void);

View File

@ -1133,6 +1133,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
pow10f
ppoll
pthread_getattr_np
pthread_sigqueue
ptsname_r
removexattr
setxattr

View File

@ -3093,6 +3093,24 @@ pthread_sigmask (int operation, const sigset_t *set, sigset_t *old_set)
return res;
}
extern "C" int
pthread_sigqueue (pthread_t *thread, int sig, const union sigval value)
{
siginfo_t si = {0};
if (!pthread::is_good_object (thread))
return EINVAL;
if (!(*thread)->valid)
return ESRCH;
si.si_signo = sig;
si.si_code = SI_QUEUE;
si.si_value = value;
si.si_pid = myself->pid;
si.si_uid = myself->uid;
return sig_send (NULL, si, (*thread)->cygtls);
}
/* ID */
extern "C" int