--- IO-AIO/AIO.xs 2006/10/23 20:05:27 1.60 +++ IO-AIO/AIO.xs 2006/10/23 22:45:18 1.62 @@ -97,11 +97,11 @@ typedef aio_cb *aio_req_ornot; enum { - PRI_MIN = 4, - PRI_MAX = -4, + PRI_MIN = -4, + PRI_MAX = 4, DEFAULT_PRI = 0, - PRI_BIAS = PRI_MIN, + PRI_BIAS = -PRI_MIN, }; static int next_pri = DEFAULT_PRI + PRI_BIAS; @@ -193,6 +193,8 @@ static void poll_wait () { + fd_set rfd; + while (nreqs) { aio_req req; @@ -203,7 +205,6 @@ if (req) return; - fd_set rfd; FD_ZERO(&rfd); FD_SET(respipe [0], &rfd); @@ -1262,8 +1263,8 @@ void aio_pri (int pri = DEFAULT_PRI) CODE: - if (pri > PRI_MIN) pri = PRI_MIN; - if (pri < PRI_MAX) pri = PRI_MAX; + if (pri < PRI_MIN) pri = PRI_MIN; + if (pri > PRI_MAX) pri = PRI_MAX; next_pri = pri + PRI_BIAS; #endif