]> git.puffer.fish Git - mirror/frr.git/commitdiff
doc: Add some documentation around a new pthread call 15287/head
authorDonald Sharp <sharpd@nvidia.com>
Sat, 3 Feb 2024 13:52:38 +0000 (08:52 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Mon, 5 Feb 2024 19:51:55 +0000 (14:51 -0500)
Not necessarily the correct place for this but there
is no other place and it needs to be called out and I
would rather have some documentation in place.  Long
term I would like to add a bunch of frr_pthread documentation
but at this point in time it's not there.  We can
re-arrange when that happens.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
doc/developer/rcu.rst

index 4fd56587ae8598e87573b9935fad0816760568c9..2335e8faed1ad02b4bb3afa7b7a7048d4bf6440e 100644 (file)
@@ -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.