source: rtems/cpukit/posix/inline/rtems/posix/mutex.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.1 KB
Line 
1/**
2 * @file rtems/posix/mutex.inl
3 */
4
5/*  rtems/posix/mutex.inl
6 *
7 *  This include file contains the static inline implementation of the private
8 *  inlined routines for POSIX mutex's.
9 *
10 *  COPYRIGHT (c) 1989-1999.
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_MUTEX_INL
21#define _RTEMS_POSIX_MUTEX_INL
22 
23/*PAGE
24 *
25 *  _POSIX_Mutex_Allocate
26 */
27 
28RTEMS_INLINE_ROUTINE POSIX_Mutex_Control *_POSIX_Mutex_Allocate( void )
29{
30  return (POSIX_Mutex_Control *) _Objects_Allocate( &_POSIX_Mutex_Information );
31}
32 
33/*PAGE
34 *
35 *  _POSIX_Mutex_Free
36 */
37 
38RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Free (
39  POSIX_Mutex_Control *the_mutex
40)
41{
42  _Objects_Free( &_POSIX_Mutex_Information, &the_mutex->Object );
43}
44 
45/*PAGE
46 *
47 *  _POSIX_Mutex_Is_null
48 */
49 
50RTEMS_INLINE_ROUTINE boolean _POSIX_Mutex_Is_null (
51  POSIX_Mutex_Control *the_mutex
52)
53{
54  return !the_mutex;
55}
56
57#endif
58/*  end of include file */
59
Note: See TracBrowser for help on using the repository browser.