summaryrefslogtreecommitdiffstats
path: root/doc/developer/rcu.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/developer/rcu.rst')
-rw-r--r--doc/developer/rcu.rst9
1 files changed, 9 insertions, 0 deletions
diff --git a/doc/developer/rcu.rst b/doc/developer/rcu.rst
index 4fd5658..2335e8f 100644
--- a/doc/developer/rcu.rst
+++ b/doc/developer/rcu.rst
@@ -232,6 +232,15 @@ Internals
that case, either all of the library's threads must be registered for RCU,
or the code must instead pass a (non-RCU) copy of the data to the library.
+.. c:function:: int frr_pthread_non_controlled_startup(pthread_t thread, const char *name, const char *os_name)
+
+ If a pthread is started outside the control of normal pthreads in frr
+ then frr_pthread_non_controlled_startup should be called. This will
+ properly setup both the pthread with rcu usage as well as some data
+ structures pertaining to the name of the pthread. This is especially
+ important if the pthread created ends up calling back into FRR and
+ one of the various zlog_XXX functions is called.
+
.. c:function:: void rcu_shutdown(void)
Stop the RCU sweeper thread and make sure all cleanup has finished.