[PATCH 2/3] posix: Remove rtems_pthread_attribute_compare()

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Oct 9 13:55:05 UTC 2017


Update #2514.
Close #3174.
---
 cpukit/posix/Makefile.am                       |  3 -
 cpukit/posix/include/rtems/posix/pthreadimpl.h |  8 ---
 cpukit/posix/src/pthreadattrcompare.c          | 93 --------------------------
 testsuites/psxtests/psxgetattrnp01/init.c      | 68 ++++++++++++++++++-
 4 files changed, 67 insertions(+), 105 deletions(-)
 delete mode 100644 cpukit/posix/src/pthreadattrcompare.c

diff --git a/cpukit/posix/Makefile.am b/cpukit/posix/Makefile.am
index 627030bcb4..7bd6869c3c 100644
--- a/cpukit/posix/Makefile.am
+++ b/cpukit/posix/Makefile.am
@@ -150,9 +150,6 @@ libposix_a_SOURCES += src/pthreadatfork.c src/pthreadattrdestroy.c \
     src/psxpriorityisvalid.c src/psxtransschedparam.c
 libposix_a_SOURCES += src/pthreadsetschedprio.c
 
-## RTEMS specific support methods
-libposix_a_SOURCES += src/pthreadattrcompare.c
-
 ## PSIGNAL_C_FILES
 libposix_a_SOURCES += src/psignal.c src/alarm.c src/kill.c src/killinfo.c \
     src/kill_r.c src/pause.c src/psignalclearprocesssignals.c \
diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h
index 290fbad02e..9e5314b2c2 100644
--- a/cpukit/posix/include/rtems/posix/pthreadimpl.h
+++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h
@@ -103,14 +103,6 @@ int _POSIX_Thread_Translate_sched_param(
   Thread_CPU_budget_algorithm_callout *budget_callout
 );
 
-/*
- * rtems_pthread_attribute_compare
- */
-int rtems_pthread_attribute_compare(
-  const pthread_attr_t *attr1,
-  const pthread_attr_t *attr2
-);
-
 RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Allocate(void)
 {
   _Objects_Allocator_lock();
diff --git a/cpukit/posix/src/pthreadattrcompare.c b/cpukit/posix/src/pthreadattrcompare.c
deleted file mode 100644
index 26ab28db33..0000000000
--- a/cpukit/posix/src/pthreadattrcompare.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * @file
- *
- * @brief RTEMS specific pthread attribute comparison
- * @ingroup POSIX_PTHREADS Private Threads
- */
-
-/*
- *  COPYRIGHT (c) 1989-2014.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdio.h>
-
-#include <errno.h>
-#include <pthread.h>
-#include <string.h>
-#include <rtems/posix/pthreadimpl.h>
-
-int rtems_pthread_attribute_compare(
-  const pthread_attr_t *attr1,
-  const pthread_attr_t *attr2
-)
-{
-  if ( attr1->is_initialized  !=  attr2->is_initialized )
-    return 1;
-
-  if (
-    attr1->stackaddr != NULL &&
-      attr2->stackaddr != NULL &&
-      attr1->stackaddr != attr2->stackaddr )
-    return 1;
-
-  if ( attr1->stacksize != attr2->stacksize )
-    return 1;
-
-  if ( attr1->contentionscope != attr2->contentionscope )
-    return 1;
-
-  if ( attr1->inheritsched != attr2->inheritsched )
-    return 1;
-
-  if ( attr1->schedpolicy != attr2->schedpolicy )
-    return 1;
-
-  if (memcmp(
-    &attr1->schedparam,
-    &attr2->schedparam,
-    sizeof(struct sched_param)
-  ))
-    return 1;
-
-  #if HAVE_DECL_PTHREAD_ATTR_SETGUARDSIZE
-    if ( attr1->guardsize != attr2->guardsize )
-      return 1;
-  #endif
-
-  #if defined(_POSIX_THREAD_CPUTIME)
-    if ( attr1->cputime_clock_allowed != attr2->cputime_clock_allowed )
-      return 1;
-  #endif
-
-  if ( attr1->detachstate != attr2->detachstate )
-    return 1;
-
-  if ( attr1->affinitysetsize != attr2->affinitysetsize )
-    return 1;
-
-  if (!CPU_EQUAL_S(
-    attr1->affinitysetsize,
-    attr1->affinityset,
-    attr2->affinityset
-  ))
-    return 1;
-
-  if (!CPU_EQUAL_S(
-    attr1->affinitysetsize,
-    &attr1->affinitysetpreallocated,
-    &attr2->affinitysetpreallocated
-  ))
-    return 1;
-
-  return 0;
-}
-
-
diff --git a/testsuites/psxtests/psxgetattrnp01/init.c b/testsuites/psxtests/psxgetattrnp01/init.c
index 190e4f498e..e5c3975255 100644
--- a/testsuites/psxtests/psxgetattrnp01/init.c
+++ b/testsuites/psxtests/psxgetattrnp01/init.c
@@ -33,6 +33,72 @@ pthread_t           Thread_id;
 pthread_attr_t      Thread_attr;
 int                 max_priority;
 
+static int attribute_compare(
+  const pthread_attr_t *attr1,
+  const pthread_attr_t *attr2
+)
+{
+  if ( attr1->is_initialized  !=  attr2->is_initialized )
+    return 1;
+
+  if (
+    attr1->stackaddr != NULL &&
+      attr2->stackaddr != NULL &&
+      attr1->stackaddr != attr2->stackaddr )
+    return 1;
+
+  if ( attr1->stacksize != attr2->stacksize )
+    return 1;
+
+  if ( attr1->contentionscope != attr2->contentionscope )
+    return 1;
+
+  if ( attr1->inheritsched != attr2->inheritsched )
+    return 1;
+
+  if ( attr1->schedpolicy != attr2->schedpolicy )
+    return 1;
+
+  if (memcmp(
+    &attr1->schedparam,
+    &attr2->schedparam,
+    sizeof(struct sched_param)
+  ))
+    return 1;
+
+  #if HAVE_DECL_PTHREAD_ATTR_SETGUARDSIZE
+    if ( attr1->guardsize != attr2->guardsize )
+      return 1;
+  #endif
+
+  #if defined(_POSIX_THREAD_CPUTIME)
+    if ( attr1->cputime_clock_allowed != attr2->cputime_clock_allowed )
+      return 1;
+  #endif
+
+  if ( attr1->detachstate != attr2->detachstate )
+    return 1;
+
+  if ( attr1->affinitysetsize != attr2->affinitysetsize )
+    return 1;
+
+  if (!CPU_EQUAL_S(
+    attr1->affinitysetsize,
+    attr1->affinityset,
+    attr2->affinityset
+  ))
+    return 1;
+
+  if (!CPU_EQUAL_S(
+    attr1->affinitysetsize,
+    &attr1->affinitysetpreallocated,
+    &attr2->affinitysetpreallocated
+  ))
+    return 1;
+
+  return 0;
+}
+
 void *Thread_1(
   void *argument
 )
@@ -48,7 +114,7 @@ void *Thread_1(
   puts("Thread - pthread_getattr_np - Verify value");
   sc = pthread_getattr_np( Thread_id, &attr );
   rtems_test_assert( sc == 0 );
-  rtems_test_assert( ! rtems_pthread_attribute_compare(&attr, &Thread_attr) );
+  rtems_test_assert( ! attribute_compare(&attr, &Thread_attr) );
 
   param.sched_priority = max_priority;
 
-- 
2.12.3




More information about the devel mailing list