[PATCH 5/9] posix: Convert to inline function

Rempel, Cynthia cynt6007 at vandals.uidaho.edu
Thu Jul 18 17:48:44 UTC 2013


>________________________________________
>From: rtems-devel-bounces at rtems.org [rtems-devel-bounces at rtems.org] on behalf of Gedare Bloom [gedare at rtems.org]
>Sent: Thursday, July 18, 2013 9:47 AM
>To: Ralf Corsepius
>Cc: RTEMS Devel
>Subject: Re: [PATCH 5/9] posix: Convert to inline function
>
>On Thu, Jul 18, 2013 at 12:43 PM, Ralf Corsepius
><ralf.corsepius at rtems.org> wrote:
>> On 07/17/2013 04:18 PM, Sebastian Huber wrote:
>>>
>>> ---
>>>   cpukit/posix/include/rtems/posix/muteximpl.h |   20 ++++++++++++++++----
>>>   cpukit/posix/src/mutextranslatereturncode.c  |   22 +---------------------
>>>   2 files changed, 17 insertions(+), 25 deletions(-)
>>>
>>> diff --git a/cpukit/posix/include/rtems/posix/muteximpl.h
>>> b/cpukit/posix/include/rtems/posix/muteximpl.h
>>> index d4673aa..29e93c2 100644
>>> --- a/cpukit/posix/include/rtems/posix/muteximpl.h
>>> +++ b/cpukit/posix/include/rtems/posix/muteximpl.h
>>> @@ -38,6 +40,8 @@ POSIX_EXTERN Objects_Information
>>> _POSIX_Mutex_Information;
>>>
>>>   POSIX_EXTERN pthread_mutexattr_t _POSIX_Mutex_Default_attributes;
>>>
>>> +extern const int _POSIX_Mutex_Return_codes[CORE_MUTEX_STATUS_LAST + 1];
>>> +
>>>   /*
>>>    *  @brief POSIX Mutex Manager Initialization
>>>    *
>>> @@ -144,11 +148,19 @@ int _POSIX_Mutex_Lock_support(
>>>    * willing to block but the operation was unable to complete within the
>>> time
>>>    * allotted because the resource never became available.
>>>    */
>>> -
>>> -int _POSIX_Mutex_Translate_core_mutex_return_code(
>>> +RTEMS_INLINE_ROUTINE int _POSIX_Mutex_Translate_core_mutex_return_code(
>>>     CORE_mutex_Status  the_mutex_status
>>> -);
>>> -
>>> +)
>>> +{
>>> +  /*
>>> +   *  Internal consistency check for bad status from SuperCore
>>> +   */
>>> +  #if defined(RTEMS_DEBUG)
>>> +    if ( the_mutex_status > CORE_MUTEX_STATUS_LAST )
>>> +      return EINVAL;
>>> +  #endif
>>> +  return _POSIX_Mutex_Return_codes[the_mutex_status];
>>> +}
>>>
>>>   /*
>>>    *  _POSIX_Mutex_Get
>>
>> I don't like this kind of changes, because they contradict to the working
>> principles of data abstraction and encapsulation.
>>
>> They expose internal implementation details and symbols, no user should see.
>>
>I think this file and it's structures/functions are not meant to be
>part of the user API.
That's correct...
muteximpl.h is supposed to be a private header...
we should probably verify the header doesn't get installed (see patch 1/9), if it does, we need to modify the patch-sets so the private headers don't get installed...
probably a Makefile.am change...
>> Many people, comprising me, consider this to be very bad coding style.
Hmm... is that because it's defining a function in (what is intended to be) a private header?
Interesting catch... We'll have to try this patch-set out to see if the private headers are being installed...
Could you give us pointers to a coding style guide?
We could probably incorporate it into our Coding Style, http://www.rtems.org/wiki/index.php/Coding_Conventions
Thanks!
>>
>> Ralf





More information about the devel mailing list