[PATCH 1/5] score: Delete MP support for RW locks
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Apr 1 13:56:11 UTC 2016
MP support was not implemented.
---
cpukit/posix/src/prwlockrdlock.c | 4 +--
cpukit/posix/src/prwlocktimedrdlock.c | 4 +--
cpukit/posix/src/prwlocktimedwrlock.c | 4 +--
cpukit/posix/src/prwlocktryrdlock.c | 4 +--
cpukit/posix/src/prwlocktrywrlock.c | 4 +--
cpukit/posix/src/prwlockwrlock.c | 4 +--
cpukit/score/include/rtems/score/corerwlockimpl.h | 35 ++++++-----------------
cpukit/score/src/corerwlockobtainread.c | 10 +++----
cpukit/score/src/corerwlockobtainwrite.c | 4 +--
9 files changed, 19 insertions(+), 54 deletions(-)
diff --git a/cpukit/posix/src/prwlockrdlock.c b/cpukit/posix/src/prwlockrdlock.c
index 168a34a..c6bf5fc 100644
--- a/cpukit/posix/src/prwlockrdlock.c
+++ b/cpukit/posix/src/prwlockrdlock.c
@@ -50,10 +50,8 @@ int pthread_rwlock_rdlock(
_CORE_RWLock_Obtain_for_reading(
&the_rwlock->RWLock,
executing,
- *rwlock,
true, /* we are willing to wait forever */
- 0,
- NULL
+ 0
);
_Objects_Put( &the_rwlock->Object );
diff --git a/cpukit/posix/src/prwlocktimedrdlock.c b/cpukit/posix/src/prwlocktimedrdlock.c
index 20f6682..b94fe1b 100644
--- a/cpukit/posix/src/prwlocktimedrdlock.c
+++ b/cpukit/posix/src/prwlocktimedrdlock.c
@@ -76,10 +76,8 @@ int pthread_rwlock_timedrdlock(
_CORE_RWLock_Obtain_for_reading(
&the_rwlock->RWLock,
executing,
- *rwlock,
do_wait,
- ticks,
- NULL
+ ticks
);
_Objects_Put( &the_rwlock->Object );
diff --git a/cpukit/posix/src/prwlocktimedwrlock.c b/cpukit/posix/src/prwlocktimedwrlock.c
index f387dc3..42a8068 100644
--- a/cpukit/posix/src/prwlocktimedwrlock.c
+++ b/cpukit/posix/src/prwlocktimedwrlock.c
@@ -78,10 +78,8 @@ int pthread_rwlock_timedwrlock(
_CORE_RWLock_Obtain_for_writing(
&the_rwlock->RWLock,
executing,
- *rwlock,
do_wait,
- ticks,
- NULL
+ ticks
);
_Objects_Put( &the_rwlock->Object );
diff --git a/cpukit/posix/src/prwlocktryrdlock.c b/cpukit/posix/src/prwlocktryrdlock.c
index 6a70de5..72413e4 100644
--- a/cpukit/posix/src/prwlocktryrdlock.c
+++ b/cpukit/posix/src/prwlocktryrdlock.c
@@ -54,10 +54,8 @@ int pthread_rwlock_tryrdlock(
_CORE_RWLock_Obtain_for_reading(
&the_rwlock->RWLock,
executing,
- *rwlock,
false, /* do not wait for the rwlock */
- 0,
- NULL
+ 0
);
diff --git a/cpukit/posix/src/prwlocktrywrlock.c b/cpukit/posix/src/prwlocktrywrlock.c
index 7afd41a..23f7d80 100644
--- a/cpukit/posix/src/prwlocktrywrlock.c
+++ b/cpukit/posix/src/prwlocktrywrlock.c
@@ -54,10 +54,8 @@ int pthread_rwlock_trywrlock(
_CORE_RWLock_Obtain_for_writing(
&the_rwlock->RWLock,
executing,
- *rwlock,
false, /* we are not willing to wait */
- 0,
- NULL
+ 0
);
_Objects_Put( &the_rwlock->Object );
diff --git a/cpukit/posix/src/prwlockwrlock.c b/cpukit/posix/src/prwlockwrlock.c
index 6777464..9edabbb 100644
--- a/cpukit/posix/src/prwlockwrlock.c
+++ b/cpukit/posix/src/prwlockwrlock.c
@@ -56,10 +56,8 @@ int pthread_rwlock_wrlock(
_CORE_RWLock_Obtain_for_writing(
&the_rwlock->RWLock,
executing,
- *rwlock,
true, /* do not timeout -- wait forever */
- 0,
- NULL
+ 0
);
_Objects_Put( &the_rwlock->Object );
diff --git a/cpukit/score/include/rtems/score/corerwlockimpl.h b/cpukit/score/include/rtems/score/corerwlockimpl.h
index e41c699..6d563a5 100644
--- a/cpukit/score/include/rtems/score/corerwlockimpl.h
+++ b/cpukit/score/include/rtems/score/corerwlockimpl.h
@@ -36,15 +36,6 @@ extern "C" {
#define CORE_RWLOCK_TQ_OPERATIONS &_Thread_queue_Operations_FIFO
/**
- * The following type defines the callout which the API provides
- * to support global/multiprocessor operations on RWLocks.
- */
-typedef void ( *CORE_RWLock_API_mp_support_callout )(
- Thread_Control *,
- Objects_Id
- );
-
-/**
* Core RWLock handler return statuses.
*/
typedef enum {
@@ -103,23 +94,18 @@ RTEMS_INLINE_ROUTINE void _CORE_RWLock_Destroy(
* This routine attempts to obtain the RWLock for read access.
*
* @param[in] the_rwlock is the RWLock to wait for
- * @param[in] id is the id of the object being waited upon
* @param[in] wait is true if the calling thread is willing to wait
* @param[in] timeout is the number of ticks the calling thread is willing
* to wait if @a wait is true.
- * @param[in] api_rwlock_mp_support is the routine to invoke if the
- * thread unblocked is remote
*
* @note Status is returned via the thread control block.
*/
void _CORE_RWLock_Obtain_for_reading(
- CORE_RWLock_Control *the_rwlock,
- Thread_Control *executing,
- Objects_Id id,
- bool wait,
- Watchdog_Interval timeout,
- CORE_RWLock_API_mp_support_callout api_rwlock_mp_support
+ CORE_RWLock_Control *the_rwlock,
+ Thread_Control *executing,
+ bool wait,
+ Watchdog_Interval timeout
);
/**
@@ -128,22 +114,17 @@ void _CORE_RWLock_Obtain_for_reading(
* This routine attempts to obtain the RWLock for write exclusive access.
*
* @param[in] the_rwlock is the RWLock to wait for
- * @param[in] id is the id of the object being waited upon
* @param[in] wait is true if the calling thread is willing to wait
* @param[in] timeout is the number of ticks the calling thread is willing
* to wait if @a wait is true.
- * @param[in] api_rwlock_mp_support is the routine to invoke if the
- * thread unblocked is remote
*
* @note Status is returned via the thread control block.
*/
void _CORE_RWLock_Obtain_for_writing(
- CORE_RWLock_Control *the_rwlock,
- Thread_Control *executing,
- Objects_Id id,
- bool wait,
- Watchdog_Interval timeout,
- CORE_RWLock_API_mp_support_callout api_rwlock_mp_support
+ CORE_RWLock_Control *the_rwlock,
+ Thread_Control *executing,
+ bool wait,
+ Watchdog_Interval timeout
);
/**
diff --git a/cpukit/score/src/corerwlockobtainread.c b/cpukit/score/src/corerwlockobtainread.c
index 97d7b9e..e11ef4a 100644
--- a/cpukit/score/src/corerwlockobtainread.c
+++ b/cpukit/score/src/corerwlockobtainread.c
@@ -24,12 +24,10 @@
#include <rtems/score/watchdog.h>
void _CORE_RWLock_Obtain_for_reading(
- CORE_RWLock_Control *the_rwlock,
- Thread_Control *executing,
- Objects_Id id,
- bool wait,
- Watchdog_Interval timeout,
- CORE_RWLock_API_mp_support_callout api_rwlock_mp_support
+ CORE_RWLock_Control *the_rwlock,
+ Thread_Control *executing,
+ bool wait,
+ Watchdog_Interval timeout
)
{
ISR_lock_Context lock_context;
diff --git a/cpukit/score/src/corerwlockobtainwrite.c b/cpukit/score/src/corerwlockobtainwrite.c
index 28de842..03aa745 100644
--- a/cpukit/score/src/corerwlockobtainwrite.c
+++ b/cpukit/score/src/corerwlockobtainwrite.c
@@ -26,10 +26,8 @@
void _CORE_RWLock_Obtain_for_writing(
CORE_RWLock_Control *the_rwlock,
Thread_Control *executing,
- Objects_Id id,
bool wait,
- Watchdog_Interval timeout,
- CORE_RWLock_API_mp_support_callout api_rwlock_mp_support
+ Watchdog_Interval timeout
)
{
ISR_lock_Context lock_context;
--
1.8.4.5
More information about the devel
mailing list