* manual/threads.texi (pthread_key_create, pthread_key_delete,
pthread_getspecific, pthread_setspecific): Format with @deftypefun, and add @safety note. * manual/signal.texi: Move comments that analyze the above functions to their home place.
This commit is contained in:
parent
fd3daba426
commit
909e12ad34
@ -1,3 +1,11 @@
|
|||||||
|
2014-02-03 Alexandre Oliva <aoliva@redhat.com>
|
||||||
|
|
||||||
|
* manual/threads.texi (pthread_key_create, pthread_key_delete,
|
||||||
|
pthread_getspecific, pthread_setspecific): Format with
|
||||||
|
@deftypefun, and add @safety note.
|
||||||
|
* manual/signal.texi: Move comments that analyze the above
|
||||||
|
functions to their home place.
|
||||||
|
|
||||||
2014-02-03 Allan McRae <allan@archlinux.org>
|
2014-02-03 Allan McRae <allan@archlinux.org>
|
||||||
|
|
||||||
* po/sl.po: Update Slovenian translation from translation project.
|
* po/sl.po: Update Slovenian translation from translation project.
|
||||||
|
@ -894,22 +894,13 @@ may come from a signal handler in the same process.
|
|||||||
@c uses a static buffer if tsd key creation fails
|
@c uses a static buffer if tsd key creation fails
|
||||||
@c [once] init
|
@c [once] init
|
||||||
@c libc_key_create ok
|
@c libc_key_create ok
|
||||||
@c pthread_key_create ok
|
@c pthread_key_create dup ok
|
||||||
@c KEY_UNUSED ok
|
|
||||||
@c KEY_USABLE ok
|
|
||||||
@c getbuffer @asucorrupt @ascuheap @acsmem
|
@c getbuffer @asucorrupt @ascuheap @acsmem
|
||||||
@c libc_getspecific ok
|
@c libc_getspecific ok
|
||||||
@c pthread_getspecific ok
|
@c pthread_getspecific dup ok
|
||||||
@c malloc dup @ascuheap @acsmem
|
@c malloc dup @ascuheap @acsmem
|
||||||
@c libc_setspecific @asucorrupt @ascuheap @acucorrupt @acsmem
|
@c libc_setspecific @asucorrupt @ascuheap @acucorrupt @acsmem
|
||||||
@c pthread_setspecific @asucorrupt @ascuheap @acucorrupt @acsmem
|
@c pthread_setspecific dup @asucorrupt @ascuheap @acucorrupt @acsmem
|
||||||
@c a level2 block may be allocated by a signal handler after
|
|
||||||
@c another call already made a decision to allocate it, thus losing
|
|
||||||
@c the allocated value. the seq number is updated before the
|
|
||||||
@c value, which might cause an earlier-generation value to seem
|
|
||||||
@c current if setspecific is cancelled or interrupted by a signal
|
|
||||||
@c KEY_UNUSED ok
|
|
||||||
@c calloc dup @ascuheap @acsmem
|
|
||||||
@c snprintf dup @mtslocale @ascuheap @acsmem
|
@c snprintf dup @mtslocale @ascuheap @acsmem
|
||||||
@c _ @ascuintl
|
@c _ @ascuintl
|
||||||
This function returns a pointer to a statically-allocated string
|
This function returns a pointer to a statically-allocated string
|
||||||
|
@ -20,9 +20,11 @@ The @glibcadj{} implements functions to allow users to create and manage
|
|||||||
data specific to a thread. Such data may be destroyed at thread exit,
|
data specific to a thread. Such data may be destroyed at thread exit,
|
||||||
if a destructor is provided. The following functions are defined:
|
if a destructor is provided. The following functions are defined:
|
||||||
|
|
||||||
@table @code
|
@deftypefun int pthread_key_create (pthread_key_t *@var{key}, void (*@var{destructor})(void*))
|
||||||
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||||
@item int pthread_key_create (pthread_key_t *@var{key}, void (*@var{destructor})(void*))
|
@c pthread_key_create ok
|
||||||
|
@c KEY_UNUSED ok
|
||||||
|
@c KEY_USABLE ok
|
||||||
Create a thread-specific data key for the calling thread, referenced by
|
Create a thread-specific data key for the calling thread, referenced by
|
||||||
@var{key}.
|
@var{key}.
|
||||||
|
|
||||||
@ -30,21 +32,39 @@ Objects declared with the C++11 @code{thread_local} keyword are destroyed
|
|||||||
before thread-specific data, so they should not be used in thread-specific
|
before thread-specific data, so they should not be used in thread-specific
|
||||||
data destructors or even as members of the thread-specific data, since the
|
data destructors or even as members of the thread-specific data, since the
|
||||||
latter is passed as an argument to the destructor function.
|
latter is passed as an argument to the destructor function.
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
@c FIXME: use @deftypefun for these.
|
@deftypefun int pthread_key_delete (pthread_key_t @var{key})
|
||||||
@item int pthread_key_delete (pthread_key_t @var{key})
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||||
|
@c pthread_key_delete ok
|
||||||
|
@c This uses atomic compare and exchange to increment the seq number
|
||||||
|
@c after testing it's not a KEY_UNUSED seq number.
|
||||||
|
@c KEY_UNUSED dup ok
|
||||||
Destroy the thread-specific data @var{key} in the calling thread. The
|
Destroy the thread-specific data @var{key} in the calling thread. The
|
||||||
destructor for the thread-specific data is not called during destruction, nor
|
destructor for the thread-specific data is not called during destruction, nor
|
||||||
is it called during thread exit.
|
is it called during thread exit.
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
@item void *pthread_getspecific (pthread_key_t @var{key})
|
@deftypefun void *pthread_getspecific (pthread_key_t @var{key})
|
||||||
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||||
|
@c pthread_getspecific ok
|
||||||
Return the thread-specific data associated with @var{key} in the calling
|
Return the thread-specific data associated with @var{key} in the calling
|
||||||
thread.
|
thread.
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
@item int pthread_setspecific (pthread_key_t @var{key}, const void *@var{value})
|
@deftypefun int pthread_setspecific (pthread_key_t @var{key}, const void *@var{value})
|
||||||
|
@safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{} @ascuheap{}}@acunsafe{@acucorrupt{} @acsmem{}}}
|
||||||
|
@c pthread_setspecific @asucorrupt @ascuheap @acucorrupt @acsmem
|
||||||
|
@c a level2 block may be allocated by a signal handler after
|
||||||
|
@c another call already made a decision to allocate it, thus losing
|
||||||
|
@c the allocated value. the seq number is updated before the
|
||||||
|
@c value, which might cause an earlier-generation value to seem
|
||||||
|
@c current if setspecific is cancelled or interrupted by a signal
|
||||||
|
@c KEY_UNUSED ok
|
||||||
|
@c calloc dup @ascuheap @acsmem
|
||||||
Associate the thread-specific @var{value} with @var{key} in the calling thread.
|
Associate the thread-specific @var{value} with @var{key} in the calling thread.
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@node Non-POSIX Extensions
|
@node Non-POSIX Extensions
|
||||||
@section Non-POSIX Extensions
|
@section Non-POSIX Extensions
|
||||||
|
Loading…
x
Reference in New Issue
Block a user