Code Review
/
ric-plt
/
lib
/
rmr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Fix SI address and initialistion bugs"
[ric-plt/lib/rmr.git]
/
src
/
rmr
/
si
/
src
/
si95
/
sibldpoll.c
diff --git
a/src/rmr/si/src/si95/sibldpoll.c
b/src/rmr/si/src/si95/sibldpoll.c
index
5b50fcc
..
8181738
100644
(file)
--- 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 );
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 );
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;
}
}
}
}