diff options
| -rw-r--r-- | eio.c | 12 | ||||
| -rw-r--r-- | eio.h | 4 | 
2 files changed, 11 insertions, 5 deletions
| @@ -358,6 +358,11 @@ static void maybe_start_thread (void)  void eio_submit (eio_req *req)  { +  req->pri += EIO_PRI_BIAS; + +  if (req->pri < EIO_PRI_MIN + EIO_PRI_BIAS) req->pri = EIO_PRI_MIN + EIO_PRI_BIAS; +  if (req->pri > EIO_PRI_MAX + EIO_PRI_BIAS) req->pri = EIO_PRI_MAX + EIO_PRI_BIAS; +    ++nreqs;    X_LOCK (reqlock); @@ -1051,9 +1056,10 @@ static void eio_api_destroy (eio_req *req)    if (!req)                                                     \      return 0;                                                   \                                                                  \ -  req->type = rtype;                                            \ -  req->pri = EIO_DEFAULT_PRI + EIO_PRI_BIAS;                    \ -  req->finish = cb;						\ +  req->type    = rtype;                                         \ +  req->pri     = pri;						\ +  req->finish  = cb;						\ +  req->data    = data;						\    req->destroy = eio_api_destroy;  #define SEND eio_submit (req); return req @@ -8,8 +8,8 @@ typedef struct eio_req eio_req;  typedef int (*eio_cb)(eio_req *req); -#ifndef EIO_COMMON -# define EIO_COMMON +#ifndef EIO_REQ_MEMBERS +# define EIO_REQ_MEMBERS  #endif  #ifndef EIO_STRUCT_STAT | 
