[PATCH 19/20] libcsupport/src/sync.c: Explicitly ignore return status
Gedare Bloom
gedare at rtems.org
Wed Nov 26 15:36:36 UTC 2014
On Wed, Nov 26, 2014 at 8:55 AM, Joel Sherrill
<joel.sherrill at oarcorp.com> wrote:
> On 11/26/2014 01:05 AM, Sebastian Huber wrote:
>>
>> On 26/11/14 00:02, Joel Sherrill wrote:
>>>
>>> From: Josh Oguin<josh.oguin at oarcorp.com>
>>>
>>> CodeSonar spotted that the return values were being ignored.
>>> ---
>>> cpukit/libcsupport/src/sync.c | 6 ++++--
>>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/cpukit/libcsupport/src/sync.c
>>> b/cpukit/libcsupport/src/sync.c
>>> index b8e5059..0e935ce 100644
>>> --- a/cpukit/libcsupport/src/sync.c
>>> +++ b/cpukit/libcsupport/src/sync.c
>>> @@ -43,8 +43,10 @@ static void sync_wrapper(FILE *f)
>>> * matter if they succeed. We are just making a best faith attempt
>>> * at both and trusting that we were passed a good FILE pointer.
>>> */
>>> - (void) fsync(fn);
>>> - (void) fdatasync(fn);
>>> + if ( fn != -1 ) {
>>> + (void) fsync(fn);
>>> + (void) fdatasync(fn);
>>> + }
>>> }
>>>
>>> /* iterate over all FILE *'s for this thread */
>>
>> This test is superfluous since both functions validate the file
>> descriptor. All other patches look good.
>>
> How about I add a debug assert on the status code
> and the fileno?
>
You mean in fsync and fdatasync?
Sebastian's point is that you shouldn't condition the function calls
on fn != 1, since the functions check themselves.
> One thing that the analysis of Mars Mission software defects
> over the past decade of missions showed is that code with
> higher level of debug assertions tended to have fewer problems.
> If we are making an assumption, don't just document it,
> enforce it in code.
>
> --joel
>
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list