[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