summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/cleanuppush.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-11-24 15:58:26 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-11-24 16:00:14 +0100
commitf6a1ef9fdb9df6beea4251f4440f6db5c6a473b9 (patch)
tree7359a0b2c5a3e8e16da7facaaf46041fc4ef1462 /cpukit/posix/src/cleanuppush.c
parentbsp/altera-cyclone-v: Add fatal extension handler (diff)
downloadrtems-f6a1ef9fdb9df6beea4251f4440f6db5c6a473b9.tar.bz2
posix: Require struct _pthread_cleanup_context
This structure is available in Newlib since 2013-11-29 (Git commit a534dfd26e765047621acd0eda656ded886e7108).
Diffstat (limited to 'cpukit/posix/src/cleanuppush.c')
-rw-r--r--cpukit/posix/src/cleanuppush.c49
1 files changed, 0 insertions, 49 deletions
diff --git a/cpukit/posix/src/cleanuppush.c b/cpukit/posix/src/cleanuppush.c
index cf640e0477..bf99b062bb 100644
--- a/cpukit/posix/src/cleanuppush.c
+++ b/cpukit/posix/src/cleanuppush.c
@@ -24,53 +24,6 @@
#include <rtems/score/threaddispatch.h>
#include <rtems/posix/threadsup.h>
-#ifndef HAVE_STRUCT__PTHREAD_CLEANUP_CONTEXT
-
-#include <rtems/score/chainimpl.h>
-#include <rtems/score/isr.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/posix/cancel.h>
-#include <rtems/posix/pthreadimpl.h>
-
-/*
- * 18.2.3.1 Establishing Cancellation Handlers, P1003.1c/Draft 10, p. 184
- */
-
-void pthread_cleanup_push(
- void (*routine)( void * ),
- void *arg
-)
-{
- POSIX_Cancel_Handler_control *handler;
- Chain_Control *handler_stack;
- POSIX_API_Control *thread_support;
-
- /*
- * The POSIX standard does not address what to do when the routine
- * is NULL. It also does not address what happens when we cannot
- * allocate memory or anything else bad happens.
- */
- if ( !routine )
- return;
-
- _Thread_Disable_dispatch();
- handler = _Workspace_Allocate( sizeof( POSIX_Cancel_Handler_control ) );
-
- if ( handler ) {
- thread_support = _Thread_Executing->API_Extensions[ THREAD_API_POSIX ];
-
- handler_stack = &thread_support->Cancellation_Handlers;
-
- handler->routine = routine;
- handler->arg = arg;
-
- _Chain_Append( handler_stack, &handler->Node );
- }
- _Thread_Enable_dispatch();
-}
-
-#else /* HAVE_STRUCT__PTHREAD_CLEANUP_CONTEXT */
-
void _pthread_cleanup_push(
struct _pthread_cleanup_context *context,
void ( *routine )( void * ),
@@ -93,5 +46,3 @@ void _pthread_cleanup_push(
_Thread_Enable_dispatch();
}
-
-#endif /* HAVE_STRUCT__PTHREAD_CLEANUP_CONTEXT */