@@ -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