X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fsi%2Fsrc%2Fsi95%2Fsibldpoll.c;h=81817383694559da25b019650f5f2ad5ed211321;hb=11838bcf76f3614384459cb56e2ce80dea788cef;hp=5b50fcc0dda0bcb3ba9c8f70e492914b75955774;hpb=5861625ff2eaf1bd3a69ce488bd7d14f7b402432;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/si/src/si95/sibldpoll.c b/src/rmr/si/src/si95/sibldpoll.c index 5b50fcc..8181738 100644 --- a/src/rmr/si/src/si95/sibldpoll.c +++ b/src/rmr/si/src/si95/sibldpoll.c @@ -49,8 +49,10 @@ extern void SIbldpoll( struct ginfo_blk* gptr ) { FD_ZERO( &gptr->writefds ); FD_ZERO( &gptr->execpfds ); - for( tpptr = gptr->tplist; tpptr != NULL; tpptr = nextb ) { - nextb = tpptr->next; + tpptr = gptr->tplist; + while( tpptr != NULL ) { + nextb = tpptr->next; // point past allowing for a delete + if( tpptr->flags & TPF_DELETE ) { if( tpptr->fd >= 0 ) { // wasn't closed for some reason SIterm( gptr, tpptr ); @@ -73,5 +75,7 @@ extern void SIbldpoll( struct ginfo_blk* gptr ) { } } } + + tpptr = nextb; } }