* manual/macros.texi: Add comments before MTASC-safety macros.

This commit is contained in:
Alexandre Oliva 2014-02-03 17:26:08 -02:00
parent f54838baf8
commit 375592d364
2 changed files with 50 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2014-02-03 Alexandre Oliva <aoliva@redhat.com>
* manual/macros.texi: Add comments before MTASC-safety macros.
2014-02-03 Alexandre Oliva <aoliva@redhat.com> 2014-02-03 Alexandre Oliva <aoliva@redhat.com>
* manual/users.texi: Document MTASC-safety properties. * manual/users.texi: Document MTASC-safety properties.

View File

@ -35,13 +35,13 @@ non-GNU systems
GNU/Linux and GNU/Hurd systems GNU/Linux and GNU/Hurd systems
@end macro @end macro
@c Descrption applying to GNU/Hurd systems; that is, systems using the @c Description applying to GNU/Hurd systems; that is, systems using the
@c GNU Hurd with the GNU C Library. @c GNU Hurd with the GNU C Library.
@macro gnuhurdsystems @macro gnuhurdsystems
GNU/Hurd systems GNU/Hurd systems
@end macro @end macro
@c Descrption applying to GNU/Linux systems; that is, systems using @c Description applying to GNU/Linux systems; that is, systems using
@c the Linux kernel with the GNU C Library. @c the Linux kernel with the GNU C Library.
@macro gnulinuxsystems @macro gnulinuxsystems
GNU/Linux systems GNU/Linux systems
@ -103,111 +103,155 @@ Preliminary:
@end macro @end macro
@c Function is MT- and AS-Unsafe due to an internal race.
@macro mtasurace {comments} @macro mtasurace {comments}
race\comments\ race\comments\
@end macro @end macro
@c Function is AS-Unsafe due to an internal race.
@macro asurace {comments} @macro asurace {comments}
race\comments\ race\comments\
@end macro @end macro
@c Function is MT-Safe, but with potential race on user-supplied object
@c of opaque type.
@macro mtsrace {comments} @macro mtsrace {comments}
race\comments\ race\comments\
@end macro @end macro
@c Function is MT- and AS-Unsafe for modifying an object that is decreed
@c MT-constant due to MT-Unsafe accesses elsewhere.
@macro mtasuconst {comments} @macro mtasuconst {comments}
const\comments\ const\comments\
@end macro @end macro
@c Function accesses the assumed-constant locale object.
@macro mtslocale {comments} @macro mtslocale {comments}
locale\comments\ locale\comments\
@end macro @end macro
@c Function accesses the assumed-constant environment.
@macro mtsenv {comments} @macro mtsenv {comments}
env\comments\ env\comments\
@end macro @end macro
@c Function accesses the assumed-constant hostid.
@macro mtshostid {comments} @macro mtshostid {comments}
hostid\comments\ hostid\comments\
@end macro @end macro
@c Function accesses the assumed-constant _sigintr variable.
@macro mtssigintr {comments} @macro mtssigintr {comments}
sigintr\comments\ sigintr\comments\
@end macro @end macro
@c Function performs MT-Unsafe initialization at the first call.
@macro mtuinit {comments} @macro mtuinit {comments}
init\comments\ init\comments\
@end macro @end macro
@c Function performs libc_once AS-Unsafe initialization.
@macro asuinit {comments} @macro asuinit {comments}
init\comments\ init\comments\
@end macro @end macro
@c Function performs libc_once AC-Unsafe initialization.
@macro acuinit {comments} @macro acuinit {comments}
init\comments\ init\comments\
@end macro @end macro
@c Function is AS-Unsafe because it takes a non-recursive mutex that may
@c already be held by the function interrupted by the signal.
@macro asulock {comments} @macro asulock {comments}
lock\comments\ lock\comments\
@end macro @end macro
@c Function is AC-Unsafe because it may fail to release a mutex.
@macro aculock {comments} @macro aculock {comments}
lock\comments\ lock\comments\
@end macro @end macro
@c Function is AS-Unsafe because some data structure may be inconsistent
@c due to an ongoing updated interrupted by a signal.
@macro asucorrupt {comments} @macro asucorrupt {comments}
corrupt\comments\ corrupt\comments\
@end macro @end macro
@c Function is AC-Unsafe because some data structure may be left
@c inconsistent when cancelled.
@macro acucorrupt {comments} @macro acucorrupt {comments}
corrupt\comments\ corrupt\comments\
@end macro @end macro
@c Function is AS- and AC-Unsafe because of malloc/free.
@macro ascuheap {comments} @macro ascuheap {comments}
heap\comments\ heap\comments\
@end macro @end macro
@c Function is AS-Unsafe because of malloc/free.
@macro asuheap {comments} @macro asuheap {comments}
heap\comments\ heap\comments\
@end macro @end macro
@c Function is AS- and AC-Unsafe because of dlopen/dlclose.
@macro ascudlopen {comments} @macro ascudlopen {comments}
dlopen\comments\ dlopen\comments\
@end macro @end macro
@c Function is AS- and AC-Unsafe because of unknown plugins.
@macro ascuplugin {comments} @macro ascuplugin {comments}
plugin\comments\ plugin\comments\
@end macro @end macro
@c Function is AS- and AC-Unsafe because of i18n.
@macro ascuintl {comments} @macro ascuintl {comments}
i18n\comments\ i18n\comments\
@end macro @end macro
@c Function is AS--Unsafe because of i18n.
@macro asuintl {comments} @macro asuintl {comments}
i18n\comments\ i18n\comments\
@end macro @end macro
@c Function may leak file descriptors if async-cancelled.
@macro acsfd {comments} @macro acsfd {comments}
fd\comments\ fd\comments\
@end macro @end macro
@c Function may leak memory if async-cancelled.
@macro acsmem {comments} @macro acsmem {comments}
mem\comments\ mem\comments\
@end macro @end macro
@c Function is unsafe due to temporary overriding a signal handler.
@macro mtascusig {comments} @macro mtascusig {comments}
sig\comments\ sig\comments\
@end macro @end macro
@c Function is MT- and AS-Unsafe due to temporarily changing attributes
@c of the controlling terminal.
@macro mtasuterm {comments} @macro mtasuterm {comments}
term\comments\ term\comments\
@end macro @end macro
@c Function is AC-Unsafe for failing to restore attributes of the
@c controlling terminal.
@macro acuterm {comments} @macro acuterm {comments}
term\comments\ term\comments\
@end macro @end macro
@c Function sets timers atomically.
@macro mtstimer {comments} @macro mtstimer {comments}
timer\comments\ timer\comments\
@end macro @end macro
@c Function sets and restores timers.
@macro mtascutimer {comments} @macro mtascutimer {comments}
timer\comments\ timer\comments\
@end macro @end macro
@c Function temporarily changes the current working directory.
@macro mtasscwd {comments} @macro mtasscwd {comments}
cwd\comments\ cwd\comments\
@end macro @end macro
@c Function may fail to restore to the original current working
@c directory after temporarily changing it.
@macro acscwd {comments} @macro acscwd {comments}
cwd\comments\ cwd\comments\
@end macro @end macro
@c Function is MT-Safe while POSIX says it needn't be MT-Safe.
@macro mtsposix {comments} @macro mtsposix {comments}
!posix\comments\ !posix\comments\
@end macro @end macro
@c Function is MT-Unsafe while POSIX says it should be MT-Safe.
@macro mtuposix {comments} @macro mtuposix {comments}
!posix\comments\ !posix\comments\
@end macro @end macro
@c Function is AS-Safe while POSIX says it needn't be AS-Safe.
@macro assposix {comments} @macro assposix {comments}
!posix\comments\ !posix\comments\
@end macro @end macro
@c Function is AS-Unsafe while POSIX says it should be AS-Safe.
@macro asuposix {comments} @macro asuposix {comments}
!posix\comments\ !posix\comments\
@end macro @end macro
@c Function is AC-Safe while POSIX says it needn't be AC-Safe.
@macro acsposix {comments} @macro acsposix {comments}
!posix\comments\ !posix\comments\
@end macro @end macro
@c Function is AC-Unsafe while POSIX says it should be AC-Safe.
@macro acuposix {comments} @macro acuposix {comments}
!posix\comments\ !posix\comments\
@end macro @end macro