X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fcommon%2Fsrc%2Frtc_static.c;h=15fe56720f016622fa7097a765715959fc5baa0c;hb=353bafbe34c601eda6649ea7dcfdcf285d796d5a;hp=9aca09218c7f62412afc8c0d9a342ba37e0f8aa3;hpb=9c2f0c74adb03a21646742702813b6ba4a4ae288;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/common/src/rtc_static.c b/src/rmr/common/src/rtc_static.c index 9aca092..15fe567 100644 --- a/src/rmr/common/src/rtc_static.c +++ b/src/rmr/common/src/rtc_static.c @@ -76,9 +76,8 @@ static void* rtc_file( void* vctx ) { ctx->flags |= CFL_NO_RTACK; // no attempt to ack when reading from a file while( 1 ) { if( vfd >= 0 ) { - wbuf[0] = 0; - lseek( vfd, 0, 0 ); - if( read( vfd, wbuf, 10 ) > 0 ) { + memset( wbuf, 0, sizeof( char ) * 11 ); + if( lseek( vfd, 0, SEEK_SET ) == 0 && read( vfd, wbuf, 10 ) > 0 ) { vlevel = atoi( wbuf ); } } @@ -86,6 +85,9 @@ static void* rtc_file( void* vctx ) { read_static_rt( ctx, vlevel ); // seed the route table if one provided if( ctx->shutdown != 0 ) { // allow for graceful termination and unit testing + if( vfd >= 0 ) { + close( vfd ); + } return NULL; } sleep( 60 ); @@ -98,8 +100,8 @@ static int refresh_vlevel( int vfd ) { if( vfd >= 0 ) { // if file is open, read current value rbuf[0] = 0; - lseek( vfd, 0, 0 ); - if( read( vfd, rbuf, 10 ) > 0 ) { + memset( rbuf, 0, sizeof( char ) * 11 ); + if( lseek( vfd, 0, SEEK_SET ) == 0 && read( vfd, rbuf, 10 ) > 0 ) { vlevel = atoi( rbuf ); } }