[PATCH] sync.c: Add asserts to document and check assumptions

Joel Sherrill joel.sherrill at oarcorp.com
Thu Nov 27 16:07:20 UTC 2014


On 11/27/2014 09:43 AM, Sebastian Huber wrote:
> On 27/11/14 16:31, Joel Sherrill wrote:
>> ---
>>    cpukit/libcsupport/src/sync.c | 11 +++++++++--
>>    1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/cpukit/libcsupport/src/sync.c b/cpukit/libcsupport/src/sync.c
>> index 653a177..e449cab 100644
>> --- a/cpukit/libcsupport/src/sync.c
>> +++ b/cpukit/libcsupport/src/sync.c
>> @@ -29,6 +29,7 @@ int fdatasync(int);        /* still not always prototyped */
>>    #include<stdio.h>
>>
>>    #include<rtems.h>
>> +#include<rtems/score/assert.h>
>>
>>    /* XXX check standards -- Linux version appears to be void */
>>    void _fwalk(struct _reent *, void *);
>> @@ -37,14 +38,20 @@ void _fwalk(struct _reent *, void *);
>>    static void sync_wrapper(FILE *f)
>>    {
>>      int fn = fileno(f);
>> +  int rc;
>>
>>      /*
>>       *  We are explicitly NOT checking the return values as it does not
>>       *  matter if they succeed.  We are just making a best faith attempt
>>       *  at both and trusting that we were passed a good FILE pointer.
>>       */
>> -  fsync(fn);
>> -  fdatasync(fn);
>> +  _Assert( fn != -1 );
> I don't think this assert is useful, what about -2 and 99999999? Its the
> job of fsync() and fdatasync() to deal with this.
>
OK. Makes sense so I removed that one and updated the comment.
Pushed.
>> +
>> +  rc = fsync(fn);
>> +  _Assert( rc == 0 );
>> +
>> +  rc = fdatasync(fn);
>> +  _Assert( rc == 0 );
>>    }
>>
>>    /* iterate over all FILE *'s for this thread */



More information about the devel mailing list