RTEMS
ratemondelete.c
Go to the documentation of this file.
1 
8 /*
9  * COPYRIGHT (c) 1989-2007.
10  * On-Line Applications Research Corporation (OAR).
11  * Copyright (c) 2016 embedded brains GmbH.
12  *
13  * The license and distribution terms for this file may be
14  * found in the file LICENSE in this distribution or at
15  * http://www.rtems.org/license/LICENSE.
16  */
17 
18 #ifdef HAVE_CONFIG_H
19 #include "config.h"
20 #endif
21 
23 
25  rtems_id id
26 )
27 {
28  Rate_monotonic_Control *the_period;
29  ISR_lock_Context lock_context;
30  rtems_status_code status;
31 
33 
34  the_period = _Rate_monotonic_Get( id, &lock_context );
35  if ( the_period != NULL ) {
37  _Rate_monotonic_Cancel( the_period, the_period->owner, &lock_context );
39  status = RTEMS_SUCCESSFUL;
40  } else {
41  status = RTEMS_INVALID_ID;
42  }
43 
45 
46  return status;
47 }
static __inline__ void _Objects_Allocator_unlock(void)
Unlocks the object allocator mutex.
Definition: objectimpl.h:846
Objects_Control Object
Definition: ratemondata.h:71
Objects_Information _Rate_monotonic_Information
The Classic Rate Monotonic objects information.
Definition: ratemon.c:47
rtems_status_code rtems_rate_monotonic_delete(rtems_id id)
%
Definition: ratemondelete.c:24
Thread_Control * owner
Definition: ratemondata.h:100
static __inline__ void _Objects_Allocator_lock(void)
Locks the object allocator mutex.
Definition: objectimpl.h:834
This status code indicates successful completion.
Definition: status.h:86
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:82
The following structure defines the control block used to manage each period.
Definition: ratemondata.h:69
This status code indicates that an object identifier was invalid.
Definition: status.h:106
Objects_Id rtems_id
Values of this type identify an RTEMS object.
Definition: types.h:99
Classic Rate Monotonic Scheduler Implementation.
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
void _Objects_Close(const Objects_Information *information, Objects_Control *the_object)
Closes object.
Definition: objectclose.c:23
static __inline__ void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.
Definition: objectimpl.h:933