summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/rtems/rtems-kernel-thread.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-25 13:11:59 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-25 13:11:59 +0200
commit43a14eba2e85810f8f0f6187dadc37a2932bd6b9 (patch)
treeb0f5906923858c51a246c00414068381dc2adaef /rtemsbsd/rtems/rtems-kernel-thread.c
parenttestsuite: Update due to API changes (diff)
downloadrtems-libbsd-43a14eba2e85810f8f0f6187dadc37a2932bd6b9.tar.bz2
Update due to API changes
Diffstat (limited to 'rtemsbsd/rtems/rtems-kernel-thread.c')
-rw-r--r--rtemsbsd/rtems/rtems-kernel-thread.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/rtemsbsd/rtems/rtems-kernel-thread.c b/rtemsbsd/rtems/rtems-kernel-thread.c
index fe213201..4c5071cd 100644
--- a/rtemsbsd/rtems/rtems-kernel-thread.c
+++ b/rtemsbsd/rtems/rtems-kernel-thread.c
@@ -78,25 +78,14 @@ static Thread_Control *
rtems_bsd_get_thread_by_id(rtems_id task_id)
{
Thread_Control *thread;
- Objects_Locations location;
-
- thread = _Thread_Get(task_id, &location);
- switch (location) {
- case OBJECTS_LOCAL:
- _Objects_Put(&thread->Object);
- break;
-#if defined(RTEMS_MULTIPROCESSING)
- case OBJECTS_REMOTE:
- _Thread_Dispatch();
- thread = NULL;
- break;
-#endif
- default:
- thread = NULL;
- break;
+ ISR_lock_Context lock_context;
+
+ thread = _Thread_Get(task_id, &lock_context);
+ if (thread != NULL) {
+ _ISR_lock_ISR_enable(&lock_context);
}
- return thread;
+ return (thread);
}
struct thread *