source: rtems/cpukit/posix/inline/rtems/posix/cond.inl @ 4d320062

4.104.114.95
Last change on this file since 4d320062 was 4d320062, checked in by Joel Sherrill <joel.sherrill@…>, on 01/09/08 at 22:08:31

2008-01-09 Joel Sherrill <joel.sherrill@…>

  • posix/Makefile.am, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/mutex.h, posix/inline/rtems/posix/cond.inl, posix/inline/rtems/posix/mutex.inl: Do not include POSIX Mutex or Condition Variable object get helpers because they are more complicated than the norm. They can implicitly perform a create. They cross the line as being too complex and large to inline since they negatively impact size and binary test coverage.
  • posix/src/condget.c, posix/src/mutexget.c: New files.
  • Property mode set to 100644
File size: 1.3 KB
Line 
1/**
2 * @file rtems/posix/cond.inl
3 */
4
5/*  rtems/posix/cond.inl
6 *
7 *  This include file contains the static inline implementation of the private
8 *  inlined routines for POSIX condition variables.
9 *
10 *  COPYRIGHT (c) 1989-2002.
11 *  On-Line Applications Research Corporation (OAR).
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.com/license/LICENSE.
16 *
17 *  $Id$
18 */
19 
20#ifndef _RTEMS_POSIX_COND_INL
21#define _RTEMS_POSIX_COND_INL
22 
23#include <pthread.h>
24
25/*PAGE
26 *
27 *  _POSIX_Condition_variables_Allocate
28 */
29 
30RTEMS_INLINE_ROUTINE POSIX_Condition_variables_Control
31  *_POSIX_Condition_variables_Allocate( void )
32{
33  return (POSIX_Condition_variables_Control *)
34    _Objects_Allocate( &_POSIX_Condition_variables_Information );
35}
36 
37/*PAGE
38 *
39 *  _POSIX_Condition_variables_Free
40 */
41 
42RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Free (
43  POSIX_Condition_variables_Control *the_condition_variable
44)
45{
46  _Objects_Free(
47    &_POSIX_Condition_variables_Information,
48    &the_condition_variable->Object
49  );
50}
51 
52/*PAGE
53 *
54 *  _POSIX_Condition_variables_Is_null
55 */
56 
57RTEMS_INLINE_ROUTINE boolean _POSIX_Condition_variables_Is_null (
58  POSIX_Condition_variables_Control *the_condition_variable
59)
60{
61  return !the_condition_variable;
62}
63
64#endif
65/*  end of include file */
66
Note: See TracBrowser for help on using the repository browser.