From 9184270ac4ab137526cf15627d925cafcd3b3a52 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 6 Feb 2008 23:54:55 +0000 Subject: 2008-02-06 Joel Sherrill * posix/src/mqueueunlink.c, score/Makefile.am, score/include/rtems/score/object.h, score/inline/rtems/score/object.inl: Enhance _Objects_Namespace_remove() to handle freeing object names which are strings. All changed _Objects_Close() to call _Objects_Namespace_remove(). The resulting code was then moved from inline routines to function calls. * score/src/objectclose.c, score/src/objectnamespaceremove.c: New files. --- cpukit/score/include/rtems/score/object.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'cpukit/score/include/rtems/score/object.h') diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index 88450b1b9f..9a7963e4bd 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -860,6 +860,29 @@ boolean _Objects_Set_name( const char *name ); +/** + * This function removes the_object from the namespace. + * + * @param[in] information points to an Object Information Table + * @param[in] the_object is a pointer to an object + */ +void _Objects_Namespace_remove( + Objects_Information *information, + Objects_Control *the_object +); + +/** + * This function removes the_object control pointer and object name + * in the Local Pointer and Local Name Tables. + * + * @param[in] information points to an Object Information Table + * @param[in] the_object is a pointer to an object + */ +void _Objects_Close( + Objects_Information *information, + Objects_Control *the_object +); + /* * Pieces of object.inl are promoted out to the user */ -- cgit v1.2.3