mirror of https://gitee.com/Nocallback/glibc.git
4 changed files with 111 additions and 0 deletions
@ -0,0 +1,38 @@ |
|||
/* Send a signal to a specific pthread. Stub version.
|
|||
Copyright (C) 2014 Free Software Foundation, Inc. |
|||
This file is part of the GNU C Library. |
|||
|
|||
The GNU C Library is free software; you can redistribute it and/or |
|||
modify it under the terms of the GNU Lesser General Public |
|||
License as published by the Free Software Foundation; either |
|||
version 2.1 of the License, or (at your option) any later version. |
|||
|
|||
The GNU C Library is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public |
|||
License along with the GNU C Library; if not, see |
|||
<http://www.gnu.org/licenses/>. */
|
|||
|
|||
#include <errno.h> |
|||
#include <signal.h> |
|||
#include <pthreadP.h> |
|||
|
|||
|
|||
int |
|||
__pthread_kill (pthread_t threadid, int signo) |
|||
{ |
|||
struct pthread *pd = (struct pthread *) threadid; |
|||
|
|||
/* Make sure the descriptor is valid. */ |
|||
if (DEBUGGING_P && INVALID_TD_P (pd)) |
|||
/* Not a valid thread handle. */ |
|||
return ESRCH; |
|||
|
|||
return ENOSYS; |
|||
} |
|||
strong_alias (__pthread_kill, pthread_kill) |
|||
|
|||
stub_warning (pthread_kill) |
|||
@ -0,0 +1,32 @@ |
|||
/* Examine and change blocked signals for a thread. Generic POSIX version.
|
|||
Copyright (C) 2014 Free Software Foundation, Inc. |
|||
This file is part of the GNU C Library. |
|||
|
|||
The GNU C Library is free software; you can redistribute it and/or |
|||
modify it under the terms of the GNU Lesser General Public |
|||
License as published by the Free Software Foundation; either |
|||
version 2.1 of the License, or (at your option) any later version. |
|||
|
|||
The GNU C Library is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public |
|||
License along with the GNU C Library; if not, see |
|||
<http://www.gnu.org/licenses/>. */
|
|||
|
|||
#include <errno.h> |
|||
#include <signal.h> |
|||
|
|||
|
|||
int |
|||
pthread_sigmask (int how, const sigset_t *newmask, sigset_t *oldmask) |
|||
{ |
|||
/* Here we assume that sigprocmask actually does everything right.
|
|||
The only difference is the return value protocol. */ |
|||
int result = __sigprocmask (how, newmask, oldmask); |
|||
if (result < 0) |
|||
result = errno; |
|||
return result; |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
/* Queue a signal (with value) for a specific pthread. Stub version.
|
|||
Copyright (C) 2014 Free Software Foundation, Inc. |
|||
This file is part of the GNU C Library. |
|||
|
|||
The GNU C Library is free software; you can redistribute it and/or |
|||
modify it under the terms of the GNU Lesser General Public |
|||
License as published by the Free Software Foundation; either |
|||
version 2.1 of the License, or (at your option) any later version. |
|||
|
|||
The GNU C Library is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
Lesser General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU Lesser General Public |
|||
License along with the GNU C Library; if not, see |
|||
<http://www.gnu.org/licenses/>. */
|
|||
|
|||
#include <errno.h> |
|||
#include <signal.h> |
|||
#include <pthreadP.h> |
|||
|
|||
|
|||
int |
|||
pthread_sigqueue (pthread_t threadid, int signo, const union sigval value) |
|||
{ |
|||
struct pthread *pd = (struct pthread *) threadid; |
|||
|
|||
/* Make sure the descriptor is valid. */ |
|||
if (DEBUGGING_P && INVALID_TD_P (pd)) |
|||
/* Not a valid thread handle. */ |
|||
return ESRCH; |
|||
|
|||
return ENOSYS; |
|||
} |
|||
|
|||
stub_warning (pthread_sigqueue) |
|||
Loading…
Reference in new issue