summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/posix/include/rtems/posix/barrierimpl.h7
-rw-r--r--cpukit/posix/include/rtems/posix/condimpl.h15
-rw-r--r--cpukit/posix/include/rtems/posix/mqueueimpl.h14
-rw-r--r--cpukit/posix/include/rtems/posix/muteximpl.h4
-rw-r--r--cpukit/posix/include/rtems/posix/posixapi.h8
-rw-r--r--cpukit/posix/include/rtems/posix/rwlockimpl.h4
-rw-r--r--cpukit/posix/include/rtems/posix/semaphoreimpl.h9
7 files changed, 36 insertions, 25 deletions
diff --git a/cpukit/posix/include/rtems/posix/barrierimpl.h b/cpukit/posix/include/rtems/posix/barrierimpl.h
index 5173531f37..e04f1354ae 100644
--- a/cpukit/posix/include/rtems/posix/barrierimpl.h
+++ b/cpukit/posix/include/rtems/posix/barrierimpl.h
@@ -77,14 +77,15 @@ RTEMS_INLINE_ROUTINE void _POSIX_Barrier_Free (
_Objects_Free( &_POSIX_Barrier_Information, &the_barrier->Object );
}
-RTEMS_INLINE_ROUTINE POSIX_Barrier_Control *_POSIX_Barrier_Get (
+RTEMS_INLINE_ROUTINE POSIX_Barrier_Control *_POSIX_Barrier_Get(
const pthread_barrier_t *barrier,
- ISR_lock_Context *lock_context
+ Thread_queue_Context *queue_context
)
{
+ _Thread_queue_Context_initialize( queue_context, NULL );
return (POSIX_Barrier_Control *) _Objects_Get(
(Objects_Id) *barrier,
- lock_context,
+ &queue_context->Lock_context,
&_POSIX_Barrier_Information
);
}
diff --git a/cpukit/posix/include/rtems/posix/condimpl.h b/cpukit/posix/include/rtems/posix/condimpl.h
index b17886948e..736f06be7b 100644
--- a/cpukit/posix/include/rtems/posix/condimpl.h
+++ b/cpukit/posix/include/rtems/posix/condimpl.h
@@ -63,18 +63,21 @@ RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Destroy(
RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Acquire_critical(
POSIX_Condition_variables_Control *the_cond,
- ISR_lock_Context *lock_context
+ Thread_queue_Context *queue_context
)
{
- _Thread_queue_Acquire_critical( &the_cond->Wait_queue, lock_context );
+ _Thread_queue_Acquire_critical(
+ &the_cond->Wait_queue,
+ &queue_context->Lock_context
+ );
}
RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Release(
POSIX_Condition_variables_Control *the_cond,
- ISR_lock_Context *lock_context
+ Thread_queue_Context *queue_context
)
{
- _Thread_queue_Release( &the_cond->Wait_queue, lock_context );
+ _Thread_queue_Release( &the_cond->Wait_queue, &queue_context->Lock_context );
}
/**
@@ -107,8 +110,8 @@ RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Free (
}
POSIX_Condition_variables_Control *_POSIX_Condition_variables_Get(
- pthread_cond_t *cond,
- ISR_lock_Context *lock_context
+ pthread_cond_t *cond,
+ Thread_queue_Context *queue_context
);
/**
diff --git a/cpukit/posix/include/rtems/posix/mqueueimpl.h b/cpukit/posix/include/rtems/posix/mqueueimpl.h
index 3185970035..2317358f64 100644
--- a/cpukit/posix/include/rtems/posix/mqueueimpl.h
+++ b/cpukit/posix/include/rtems/posix/mqueueimpl.h
@@ -43,7 +43,7 @@ extern Objects_Information _POSIX_Message_queue_Information;
*/
void _POSIX_Message_queue_Delete(
POSIX_Message_queue_Control *the_mq,
- ISR_lock_Context *lock_context
+ Thread_queue_Context *queue_context
);
/*@
@@ -107,12 +107,16 @@ RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free(
RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get(
- Objects_Id id,
- ISR_lock_Context *lock_context
+ Objects_Id id,
+ Thread_queue_Context *queue_context
)
{
- return (POSIX_Message_queue_Control *)
- _Objects_Get( id, lock_context, &_POSIX_Message_queue_Information );
+ _Thread_queue_Context_initialize( queue_context, NULL );
+ return (POSIX_Message_queue_Control *) _Objects_Get(
+ id,
+ &queue_context->Lock_context,
+ &_POSIX_Message_queue_Information
+ );
}
/*
diff --git a/cpukit/posix/include/rtems/posix/muteximpl.h b/cpukit/posix/include/rtems/posix/muteximpl.h
index 7627d3d1f7..4c7852b2c5 100644
--- a/cpukit/posix/include/rtems/posix/muteximpl.h
+++ b/cpukit/posix/include/rtems/posix/muteximpl.h
@@ -127,8 +127,8 @@ RTEMS_INLINE_ROUTINE int _POSIX_Mutex_Translate_core_mutex_return_code(
* @note: This version of the method uses an interrupt critical section.
*/
POSIX_Mutex_Control *_POSIX_Mutex_Get(
- pthread_mutex_t *mutex,
- ISR_lock_Context *lock_context
+ pthread_mutex_t *mutex,
+ Thread_queue_Context *queue_context
);
RTEMS_INLINE_ROUTINE POSIX_Mutex_Control *_POSIX_Mutex_Get_no_protection(
diff --git a/cpukit/posix/include/rtems/posix/posixapi.h b/cpukit/posix/include/rtems/posix/posixapi.h
index a16b6ad54b..a5afe92872 100644
--- a/cpukit/posix/include/rtems/posix/posixapi.h
+++ b/cpukit/posix/include/rtems/posix/posixapi.h
@@ -71,7 +71,7 @@ RTEMS_INLINE_ROUTINE int _POSIX_Get_by_name_error(
#define _POSIX_Get_object_body( \
type, \
id, \
- lock_context, \
+ queue_context, \
info, \
initializer, \
init \
@@ -80,14 +80,16 @@ RTEMS_INLINE_ROUTINE int _POSIX_Get_by_name_error(
if ( id == NULL ) { \
return NULL; \
} \
- the_object = _Objects_Get( (Objects_Id) *id, lock_context, info ); \
+ the_object = \
+ _Objects_Get( (Objects_Id) *id, &queue_context->Lock_context, info ); \
if ( the_object == NULL ) { \
_Once_Lock(); \
if ( *id == initializer ) { \
init( id, NULL ); \
} \
_Once_Unlock(); \
- the_object = _Objects_Get( (Objects_Id) *id, lock_context, info ); \
+ the_object = \
+ _Objects_Get( (Objects_Id) *id, &queue_context->Lock_context, info ); \
} \
return (type *) the_object
diff --git a/cpukit/posix/include/rtems/posix/rwlockimpl.h b/cpukit/posix/include/rtems/posix/rwlockimpl.h
index 6f3088ebd4..4ab9395489 100644
--- a/cpukit/posix/include/rtems/posix/rwlockimpl.h
+++ b/cpukit/posix/include/rtems/posix/rwlockimpl.h
@@ -87,8 +87,8 @@ RTEMS_INLINE_ROUTINE void _POSIX_RWLock_Free (
}
POSIX_RWLock_Control *_POSIX_RWLock_Get(
- pthread_rwlock_t *rwlock,
- ISR_lock_Context *lock_context
+ pthread_rwlock_t *rwlock,
+ Thread_queue_Context *queue_context
);
#ifdef __cplusplus
diff --git a/cpukit/posix/include/rtems/posix/semaphoreimpl.h b/cpukit/posix/include/rtems/posix/semaphoreimpl.h
index 402329a882..10d7cee28b 100644
--- a/cpukit/posix/include/rtems/posix/semaphoreimpl.h
+++ b/cpukit/posix/include/rtems/posix/semaphoreimpl.h
@@ -61,13 +61,14 @@ RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Free (
}
RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Get(
- const sem_t *id,
- ISR_lock_Context *lock_context
+ const sem_t *id,
+ Thread_queue_Context *queue_context
)
{
+ _Thread_queue_Context_initialize( queue_context, NULL );
return (POSIX_Semaphore_Control *) _Objects_Get(
(Objects_Id) *id,
- lock_context,
+ &queue_context->Lock_context,
&_POSIX_Semaphore_Information
);
}
@@ -93,7 +94,7 @@ int _POSIX_Semaphore_Create_support(
*/
void _POSIX_Semaphore_Delete(
POSIX_Semaphore_Control *the_semaphore,
- ISR_lock_Context *lock_context
+ Thread_queue_Context *queue_context
);
/**