Restart process after response from async driver on non-blocking select

This commit is contained in:
Erik van der Kouwe 2011-02-23 10:27:48 +00:00
parent 344c18cf73
commit 36f9c1155a

View File

@ -767,19 +767,18 @@ PUBLIC void select_reply1()
dp->dmap_sel_filp= NULL; dp->dmap_sel_filp= NULL;
fp->filp_select_flags &= ~FSF_BUSY; fp->filp_select_flags &= ~FSF_BUSY;
if (!(fp->filp_select_flags & (FSF_UPDATE|FSF_BLOCK))) if (!(fp->filp_select_flags & (FSF_UPDATE|FSF_BLOCK)))
fp->filp_select_ops= 0; fp->filp_select_ops= 0;
if (status != 0)
if (status > 0)
{ {
if (status > 0) /* Clear the replied bits from the request mask unless
{ * FSF_UPDATE is set.
/* Clear the replied bits from the request mask unless */
* FSF_UPDATE is set. if (!(fp->filp_select_flags & FSF_UPDATE))
*/ fp->filp_select_ops &= ~status;
if (!(fp->filp_select_flags & FSF_UPDATE))
fp->filp_select_ops &= ~status;
}
filp_status(fp, status);
} }
filp_status(fp, status);
if (fp->filp_count > 1) if (fp->filp_count > 1)
fp->filp_count--; fp->filp_count--;
else else