Skip to content

Commit d8d2b88

Browse files
author
Jacob Hageman
committed
Fix #741, Document CFE_TBL_Unregister use-case
1 parent 176e3df commit d8d2b88

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

modules/core_api/fsw/inc/cfe_tbl.h

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -227,14 +227,25 @@ CFE_Status_t CFE_TBL_Share(CFE_TBL_Handle_t *TblHandlePtr, const char *TblName);
227227

228228
/*****************************************************************************/
229229
/**
230-
** \brief Unregister a previously registered table and free associated resources
230+
** \brief Unregister a table
231231
**
232232
** \par Description
233-
** When an application is being removed from the system, it should
234-
** unregister those tables that it created. The application should
235-
** call this function as a part of its cleanup process. The table
236-
** will be removed from memory once all table addresses referencing
237-
** it have been released.
233+
** When an application is being removed from the system, ES will
234+
** clean up/free all the application related resources including tables
235+
** so apps are not required to call this function.
236+
**
237+
** A valid use-case for this API is to unregister a shared table if
238+
** access is no longer needed or the owning application was removed from
239+
** the system (CS app is an example).
240+
**
241+
** Typically apps should only register tables during initialization and
242+
** registration/unregistration by the owning application during operation
243+
** should be avoided. If unavoidable, special care needs to be taken
244+
** (especially for shared tables) to avoid race conditions due to
245+
** competing requests from mutiple tasks.
246+
**
247+
** Note the table will not be removed from memory until all table access
248+
** links have been removed (registration and all shared access).
238249
**
239250
** \par Assumptions, External Events, and Notes:
240251
** None

0 commit comments

Comments
 (0)