X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=README;h=72d92706a95505ba687177e415d84c3e1edd2d5a;hb=88c66efb5a534828dbb2a4128339e3491758de49;hp=33038af3ab12c0cc96aacbedf3cf6e76ea2fd5f7;hpb=aac98a5504a989c227bb9290f2849abc9458811c;p=urcu.git diff --git a/README b/README index 33038af..72d9270 100644 --- a/README +++ b/README @@ -189,11 +189,12 @@ Being careful with signals signal(7). The liburcu-mb and liburcu-qsbr versions of the Userspace RCU library do not require any signal. - Read-side critical sections are allowed in a signal handler with - liburcu and liburcu-mb. Be careful, however, to disable these signals + Read-side critical sections are allowed in a signal handler, + except those setup with sigaltstack(2), with liburcu and + liburcu-mb. Be careful, however, to disable these signals between thread creation and calls to rcu_register_thread(), because a - signal handler nesting on an unregistered thread would not be allowed to - call rcu_read_lock(). + signal handler nesting on an unregistered thread would not be + allowed to call rcu_read_lock(). Read-side critical sections are _not_ allowed in a signal handler with liburcu-qsbr, unless signals are disabled explicitly around each @@ -259,3 +260,10 @@ Interaction with fork() call_rcu_after_fork_parent() after the fork(). The child process must invoke call_rcu_after_fork_child(). These three APIs are suitable for passing to pthread_atfork(). + +Thread Local Storage (TLS) + + Userspace RCU can fall back on pthread_getspecific() to emulate + TLS variables on systems where it is not available. This behavior + can be forced by specifying --disable-compiler-tls as configure + argument.