/share/man/man3/pthread_sigmask.3

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 99 lines · 99 code · 0 blank · 0 comment · 0 complexity · 9e30fb682ae54e4b04a24301b19cd339 MD5 · raw file

  1. .\" Copyright (C) 2000 Jason Evans <jasone@FreeBSD.org>.
  2. .\" All rights reserved.
  3. .\"
  4. .\" Redistribution and use in source and binary forms, with or without
  5. .\" modification, are permitted provided that the following conditions
  6. .\" are met:
  7. .\" 1. Redistributions of source code must retain the above copyright
  8. .\" notice(s), this list of conditions and the following disclaimer as
  9. .\" the first lines of this file unmodified other than the possible
  10. .\" addition of one or more copyright notices.
  11. .\" 2. Redistributions in binary form must reproduce the above copyright
  12. .\" notice(s), this list of conditions and the following disclaimer in
  13. .\" the documentation and/or other materials provided with the
  14. .\" distribution.
  15. .\"
  16. .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
  17. .\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  19. .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE
  20. .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  21. .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  22. .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  23. .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  24. .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  25. .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  26. .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. .\"
  28. .\" $FreeBSD$
  29. .Dd February 19, 2011
  30. .Dt PTHREAD_SIGMASK 3
  31. .Os
  32. .Sh NAME
  33. .Nm pthread_sigmask
  34. .Nd examine and/or change a thread's signal mask
  35. .Sh LIBRARY
  36. .Lb libpthread
  37. .Sh SYNOPSIS
  38. .In pthread.h
  39. .In signal.h
  40. .Ft int
  41. .Fn pthread_sigmask "int how" "const sigset_t * restrict set" \
  42. "sigset_t * restrict oset"
  43. .Sh DESCRIPTION
  44. The
  45. .Fn pthread_sigmask
  46. function examines and/or changes the calling thread's signal mask.
  47. .Pp
  48. If
  49. .Fa set
  50. is not
  51. .Dv NULL ,
  52. it specifies a set of signals to be modified, and
  53. .Fa how
  54. specifies what to set the signal mask to:
  55. .Bl -tag -width SIG_UNBLOCK
  56. .It Dv SIG_BLOCK
  57. Union of the current mask and
  58. .Fa set .
  59. .It Dv SIG_UNBLOCK
  60. Intersection of the current mask and the complement of
  61. .Fa set .
  62. .It Dv SIG_SETMASK
  63. .Fa set .
  64. .El
  65. .Pp
  66. If
  67. .Fa oset
  68. is not NULL, the previous signal mask is stored in the location pointed to by
  69. .Fa oset .
  70. .Pp
  71. .Dv SIGKILL
  72. and
  73. .Dv SIGSTOP
  74. cannot be blocked, and will be silently ignored if included in the signal mask.
  75. .Sh RETURN VALUES
  76. If successful,
  77. .Fn pthread_sigmask
  78. returns 0.
  79. Otherwise, an error is returned.
  80. .Sh ERRORS
  81. The
  82. .Fn pthread_sigmask
  83. function will fail if:
  84. .Bl -tag -width Er
  85. .It Bq Er EINVAL
  86. .Fa how
  87. is not one of the defined values.
  88. .El
  89. .Sh SEE ALSO
  90. .Xr sigaction 2 ,
  91. .Xr sigpending 2 ,
  92. .Xr sigprocmask 2 ,
  93. .Xr sigsuspend 2 ,
  94. .Xr sigsetops 3
  95. .Sh STANDARDS
  96. The
  97. .Fn pthread_sigmask
  98. function conforms to
  99. .St -p1003.1-96