… | |
… | |
356 | start_thread (); |
356 | start_thread (); |
357 | } |
357 | } |
358 | |
358 | |
359 | void eio_submit (eio_req *req) |
359 | void eio_submit (eio_req *req) |
360 | { |
360 | { |
|
|
361 | req->pri += EIO_PRI_BIAS; |
|
|
362 | |
|
|
363 | if (req->pri < EIO_PRI_MIN + EIO_PRI_BIAS) req->pri = EIO_PRI_MIN + EIO_PRI_BIAS; |
|
|
364 | if (req->pri > EIO_PRI_MAX + EIO_PRI_BIAS) req->pri = EIO_PRI_MAX + EIO_PRI_BIAS; |
|
|
365 | |
361 | ++nreqs; |
366 | ++nreqs; |
362 | |
367 | |
363 | X_LOCK (reqlock); |
368 | X_LOCK (reqlock); |
364 | ++nready; |
369 | ++nready; |
365 | reqq_push (&req_queue, req); |
370 | reqq_push (&req_queue, req); |
… | |
… | |
1049 | \ |
1054 | \ |
1050 | req = (eio_req *)calloc (1, sizeof *req); \ |
1055 | req = (eio_req *)calloc (1, sizeof *req); \ |
1051 | if (!req) \ |
1056 | if (!req) \ |
1052 | return 0; \ |
1057 | return 0; \ |
1053 | \ |
1058 | \ |
1054 | req->type = rtype; \ |
1059 | req->type = rtype; \ |
1055 | req->pri = EIO_DEFAULT_PRI + EIO_PRI_BIAS; \ |
1060 | req->pri = pri; \ |
1056 | req->finish = cb; \ |
1061 | req->finish = cb; \ |
|
|
1062 | req->data = data; \ |
1057 | req->destroy = eio_api_destroy; |
1063 | req->destroy = eio_api_destroy; |
1058 | |
1064 | |
1059 | #define SEND eio_submit (req); return req |
1065 | #define SEND eio_submit (req); return req |
1060 | |
1066 | |
1061 | #define PATH \ |
1067 | #define PATH \ |