diff options
author | root <root> | 2008-10-12 22:30:33 +0000 |
---|---|---|
committer | root <root> | 2008-10-12 22:30:33 +0000 |
commit | e1114224e950a1549be615d893899b3cdb2a832e (patch) | |
tree | f4d374e5ae939dd5072ba864aeb275a4b13cc857 /eio.c | |
parent | cb762b0efda97f04b1bae26ef6d36a1a46f6d06e (diff) |
*** empty log message ***rel-3_16
Diffstat (limited to 'eio.c')
-rw-r--r-- | eio.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -606,12 +606,12 @@ static void grp_try_feed (eio_req *grp) { while (grp->size < grp->int2 && !EIO_CANCELLED (grp)) { - int old_len = grp->size; + grp->flags &= ~EIO_FLAG_GROUPADD; EIO_FEED (grp); /* stop if no progress has been made */ - if (old_len == grp->size) + if (!(grp->flags & EIO_FLAG_GROUPADD)) { grp->feed = 0; break; @@ -1483,6 +1483,8 @@ void eio_grp_add (eio_req *grp, eio_req *req) { assert (("cannot add requests to IO::AIO::GRP after the group finished", grp->int1 != 2)); + grp->flags |= EIO_FLAG_GROUPADD; + ++grp->size; req->grp = grp; |