[rtems commit] posix: Remove dead code and shrink comment

Sebastian Huber sebh at rtems.org
Fri May 20 14:17:39 UTC 2016


Module:    rtems
Branch:    master
Commit:    28ba7e20aa8dbd7ac7b2dc782755c71fc647f1d0
Changeset: http://git.rtems.org/rtems/commit/?id=28ba7e20aa8dbd7ac7b2dc782755c71fc647f1d0

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri May 20 09:38:56 2016 +0200

posix: Remove dead code and shrink comment

---

 cpukit/posix/src/mutexinit.c | 38 +++-----------------------------------
 1 file changed, 3 insertions(+), 35 deletions(-)

diff --git a/cpukit/posix/src/mutexinit.c b/cpukit/posix/src/mutexinit.c
index 1888699..8de76d0 100644
--- a/cpukit/posix/src/mutexinit.c
+++ b/cpukit/posix/src/mutexinit.c
@@ -46,49 +46,17 @@ int pthread_mutex_init(
     return EINVAL;
 
   /*
-   *  This code should eventually be removed.
-   *
-   *  Although the POSIX specification says:
+   *  The POSIX specification says:
    *
    *  "Attempting to initialize an already initialized mutex results
    *  in undefined behavior."
    *
    *  Trying to keep the caller from doing the create when *mutex
    *  is actually a valid ID causes grief.  All it takes is the wrong
-   *  value in an uninitialized variable to make this fail.  As best
-   *  I can tell, RTEMS was the only pthread implementation to choose
-   *  this option for "undefined behavior" and doing so has created
-   *  portability problems.  In particular, Rosimildo DaSilva
-   *  <rdasilva at connecttel.com> saw seemingly random failures in the
-   *  RTEMS port of omniORB2 when this code was enabled.
+   *  value in an uninitialized variable to make this fail.
    *
-   *  Joel Sherrill <joel at OARcorp.com>     14 May 1999
-   *  NOTE: Be careful to avoid infinite recursion on call to this
-   *        routine in _POSIX_Mutex_Get.
+   *  Thus, we do not look at *mutex.
    */
-  #if 0
-  {
-    POSIX_Mutex_Control *mutex_in_use;
-    Objects_Locations    location;
-
-    if ( *mutex != PTHREAD_MUTEX_INITIALIZER ) {
-
-      /* EBUSY if *mutex is a valid id */
-
-      mutex_in_use = _POSIX_Mutex_Get( mutex, &location );
-      switch ( location ) {
-        case OBJECTS_LOCAL:
-          _Objects_Put( &mutex_in_use->Object );
-          return EBUSY;
-        #if defined(RTEMS_MULTIPROCESSING)
-          case OBJECTS_REMOTE:
-        #endif
-        case OBJECTS_ERROR:
-          break;
-      }
-    }
-  }
-  #endif
 
   if ( !the_attr->is_initialized )
     return EINVAL;




More information about the vc mailing list