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

Comparing cvsroot/libeio/eio.c (file contents):
Revision 1.17 by root, Tue Jun 3 05:12:51 2008 UTC vs.
Revision 1.19 by root, Tue Jun 17 23:34:20 2008 UTC

371 371
372 pthread_once (&doinit, etp_once_init); 372 pthread_once (&doinit, etp_once_init);
373 373
374 want_poll_cb = want_poll; 374 want_poll_cb = want_poll;
375 done_poll_cb = done_poll; 375 done_poll_cb = done_poll;
376
377 return 0;
376} 378}
377 379
378X_THREAD_PROC (etp_proc); 380X_THREAD_PROC (etp_proc);
379 381
380static void etp_start_thread (void) 382static void etp_start_thread (void)
1039 1041
1040/*****************************************************************************/ 1042/*****************************************************************************/
1041 1043
1042int eio_init (void (*want_poll)(void), void (*done_poll)(void)) 1044int eio_init (void (*want_poll)(void), void (*done_poll)(void))
1043{ 1045{
1044 etp_init (want_poll, done_poll); 1046 return etp_init (want_poll, done_poll);
1045} 1047}
1046 1048
1047static void eio_api_destroy (eio_req *req) 1049static void eio_api_destroy (eio_req *req)
1048{ 1050{
1049 free (req); 1051 free (req);
1111 case EIO_RMDIR: req->result = rmdir (req->ptr1); break; 1113 case EIO_RMDIR: req->result = rmdir (req->ptr1); break;
1112 case EIO_MKDIR: req->result = mkdir (req->ptr1, (mode_t)req->int2); break; 1114 case EIO_MKDIR: req->result = mkdir (req->ptr1, (mode_t)req->int2); break;
1113 case EIO_RENAME: req->result = rename (req->ptr1, req->ptr2); break; 1115 case EIO_RENAME: req->result = rename (req->ptr1, req->ptr2); break;
1114 case EIO_LINK: req->result = link (req->ptr1, req->ptr2); break; 1116 case EIO_LINK: req->result = link (req->ptr1, req->ptr2); break;
1115 case EIO_SYMLINK: req->result = symlink (req->ptr1, req->ptr2); break; 1117 case EIO_SYMLINK: req->result = symlink (req->ptr1, req->ptr2); break;
1116 case EIO_MKNOD: req->result = mknod (req->ptr1, (mode_t)req->int2, (dev_t)req->offs); break; 1118 case EIO_MKNOD: req->result = mknod (req->ptr1, (mode_t)req->int2, (dev_t)req->int3); break;
1117 1119
1118 case EIO_READLINK: ALLOC (NAME_MAX); 1120 case EIO_READLINK: ALLOC (NAME_MAX);
1119 req->result = readlink (req->ptr1, req->ptr2, NAME_MAX); break; 1121 req->result = readlink (req->ptr1, req->ptr2, NAME_MAX); break;
1120 1122
1121 case EIO_SYNC: req->result = 0; sync (); break; 1123 case EIO_SYNC: req->result = 0; sync (); break;
1328 return eio__1path (EIO_READDIR, path, pri, cb, data); 1330 return eio__1path (EIO_READDIR, path, pri, cb, data);
1329} 1331}
1330 1332
1331eio_req *eio_mknod (const char *path, mode_t mode, dev_t dev, int pri, eio_cb cb, void *data) 1333eio_req *eio_mknod (const char *path, mode_t mode, dev_t dev, int pri, eio_cb cb, void *data)
1332{ 1334{
1333 REQ (EIO_MKNOD); PATH; req->int2 = (long)mode; req->int2 = (long)dev; SEND; 1335 REQ (EIO_MKNOD); PATH; req->int2 = (long)mode; req->int3 = (long)dev; SEND;
1334} 1336}
1335 1337
1336static eio_req * 1338static eio_req *
1337eio__2path (int type, const char *path, const char *new_path, int pri, eio_cb cb, void *data) 1339eio__2path (int type, const char *path, const char *new_path, int pri, eio_cb cb, void *data)
1338{ 1340{

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines