The attached patch implements pthread_getattr_np().
Jennifer Averett
On-Line Applications Research
From b328f41a371cd590dbd22797d1c6b354bb811664 Mon Sep 17 00:00:00 2001
From: Jennifer Averett <jennifer.aver...@oarcorp.com>
Date: Tue, 14 Jan 2014 09:43:14 -0600
Subject: [PATCH 94/95] posix: Add pthread_getattr_np().
---
cpukit/posix/Makefile.am | 1 +
cpukit/posix/src/pthreadgetattrnp.c | 44 +++++++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 cpukit/posix/src/pthreadgetattrnp.c
diff --git a/cpukit/posix/Makefile.am b/cpukit/posix/Makefile.am
index ea6d3d9..0e81abc 100644
--- a/cpukit/posix/Makefile.am
+++ b/cpukit/posix/Makefile.am
@@ -130,6 +130,7 @@ libposix_a_SOURCES += src/pthreadatfork.c src/pthreadattrdestroy.c \
src/pthreadattrsetschedparam.c src/pthreadattrsetschedpolicy.c \
src/pthreadattrsetscope.c src/pthreadattrsetstackaddr.c \
src/pthreadattrsetstack.c src/pthreadattrsetstacksize.c \
+ src/pthreadgetattrnp.c \
src/pthreadattrgetguardsize.c src/pthread.c \
src/pthreadcreate.c src/pthreaddetach.c src/pthreadequal.c \
src/pthreadexit.c src/pthreadgetcpuclockid.c \
diff --git a/cpukit/posix/src/pthreadgetattrnp.c b/cpukit/posix/src/pthreadgetattrnp.c
new file mode 100644
index 0000000..3d57702
--- /dev/null
+++ b/cpukit/posix/src/pthreadgetattrnp.c
@@ -0,0 +1,44 @@
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define _GNU_SOURCE
+#include <pthread.h>
+#include <errno.h>
+
+#include <rtems/posix/pthreadimpl.h>
+#include <rtems/posix/priorityimpl.h>
+#include <rtems/score/threadimpl.h>
+
+#include <sys/cpuset.h>
+
+int pthread_getattr_np(
+ pthread_t id,
+ pthread_attr_t *attr
+)
+{
+ Objects_Locations location;
+ POSIX_API_Control *api;
+ register Thread_Control *the_thread;
+
+ if ( !attr )
+ return EINVAL;
+
+ the_thread = _Thread_Get( id, &location );
+ switch ( location ) {
+
+ case OBJECTS_LOCAL:
+ api = the_thread->API_Extensions[ THREAD_API_POSIX ];
+ *attr = api->Attributes;
+ _Objects_Put( &the_thread->Object );
+ return 0;
+
+#if defined(RTEMS_MULTIPROCESSING)
+ case OBJECTS_REMOTE:
+#endif
+ case OBJECTS_ERROR:
+ break;
+ }
+
+ return ESRCH;
+}
--
1.8.1.4
_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel