diff options
author | Jennifer Averett <Jennifer.Averett@OARcorp.com> | 1999-11-22 16:14:00 +0000 |
---|---|---|
committer | Jennifer Averett <Jennifer.Averett@OARcorp.com> | 1999-11-22 16:14:00 +0000 |
commit | 101e9b0af9993c6a856112cc221c9ad5fcf2fb36 (patch) | |
tree | ab2c6a6eeb90b6f426a461994ffa9a2efdc6b9ba /c/src/exec/posix/src/semaphoredeletesupp.c | |
parent | + Corrected enable/disable of dispatch. (diff) | |
download | rtems-101e9b0af9993c6a856112cc221c9ad5fcf2fb36.tar.bz2 |
Fixed dispatching and cleaned up code.
Diffstat (limited to 'c/src/exec/posix/src/semaphoredeletesupp.c')
-rw-r--r-- | c/src/exec/posix/src/semaphoredeletesupp.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/c/src/exec/posix/src/semaphoredeletesupp.c b/c/src/exec/posix/src/semaphoredeletesupp.c index 04f0d1ad93..9e136b7f37 100644 --- a/c/src/exec/posix/src/semaphoredeletesupp.c +++ b/c/src/exec/posix/src/semaphoredeletesupp.c @@ -26,6 +26,18 @@ void _POSIX_Semaphore_Delete( ) { if ( !the_semaphore->linked && !the_semaphore->open_count ) { + _Objects_Close( &_POSIX_Semaphore_Information, &the_semaphore->Object ); + + _CORE_semaphore_Flush( + &the_semaphore->Semaphore, +#if defined(RTEMS_MULTIPROCESSING) + _POSIX_Semaphore_MP_Send_object_was_deleted, +#else + NULL, +#endif + -1 /* XXX should also seterrno -> EINVAL */ + ); + _POSIX_Semaphore_Free( the_semaphore ); #if defined(RTEMS_MULTIPROCESSING) |