ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libeio/eio.c
(Generate patch)

Comparing libeio/eio.c (file contents):
Revision 1.10 by root, Tue May 13 17:08:15 2008 UTC vs.
Revision 1.12 by root, Tue May 13 18:54:52 2008 UTC

356 start_thread (); 356 start_thread ();
357} 357}
358 358
359void eio_submit (eio_req *req) 359void 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 \
1065 { \ 1071 { \
1066 eio_api_destroy (req); \ 1072 eio_api_destroy (req); \
1067 return 0; \ 1073 return 0; \
1068 } 1074 }
1069 1075
1076#ifndef EIO_NO_WRAPPERS
1077
1070eio_req *eio_nop (int pri, eio_cb cb, void *data) 1078eio_req *eio_nop (int pri, eio_cb cb, void *data)
1071{ 1079{
1072 REQ (EIO_NOP); SEND; 1080 REQ (EIO_NOP); SEND;
1073} 1081}
1074 1082
1247eio_req *eio_rename (const char *path, const char *new_path, int pri, eio_cb cb, void *data) 1255eio_req *eio_rename (const char *path, const char *new_path, int pri, eio_cb cb, void *data)
1248{ 1256{
1249 return eio__2path (EIO_RENAME, path, new_path, pri, cb, data); 1257 return eio__2path (EIO_RENAME, path, new_path, pri, cb, data);
1250} 1258}
1251 1259
1260#endif
1261
1252eio_req *eio_grp (eio_cb cb, void *data) 1262eio_req *eio_grp (eio_cb cb, void *data)
1253{ 1263{
1254 const int pri = EIO_PRI_MAX; 1264 const int pri = EIO_PRI_MAX;
1255 1265
1256 REQ (EIO_GROUP); SEND; 1266 REQ (EIO_GROUP); SEND;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines