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

Comparing libeio/eio.c (file contents):
Revision 1.75 by root, Wed Jun 29 10:32:55 2011 UTC vs.
Revision 1.76 by root, Tue Jul 5 09:24:12 2011 UTC

834 return etp_poll (); 834 return etp_poll ();
835} 835}
836 836
837/*****************************************************************************/ 837/*****************************************************************************/
838/* work around various missing functions */ 838/* work around various missing functions */
839
840#if _POSIX_VERSION < 200809L
841# define realpath(path,resolved_path) (errno = ENOSYS, 0)
842#endif
839 843
840#if !HAVE_PREADWRITE 844#if !HAVE_PREADWRITE
841# undef pread 845# undef pread
842# undef pwrite 846# undef pwrite
843# define pread eio__pread 847# define pread eio__pread
1774 case EIO_RENAME: req->result = rename (req->ptr1, req->ptr2); break; 1778 case EIO_RENAME: req->result = rename (req->ptr1, req->ptr2); break;
1775 case EIO_LINK: req->result = link (req->ptr1, req->ptr2); break; 1779 case EIO_LINK: req->result = link (req->ptr1, req->ptr2); break;
1776 case EIO_SYMLINK: req->result = symlink (req->ptr1, req->ptr2); break; 1780 case EIO_SYMLINK: req->result = symlink (req->ptr1, req->ptr2); break;
1777 case EIO_MKNOD: req->result = mknod (req->ptr1, (mode_t)req->int2, (dev_t)req->offs); break; 1781 case EIO_MKNOD: req->result = mknod (req->ptr1, (mode_t)req->int2, (dev_t)req->offs); break;
1778 1782
1783 case EIO_REALPATH: req->flags |= EIO_FLAG_PTR2_FREE;
1784 req->ptr2 = realpath (req->ptr1, 0);
1785 req->result = req->ptr2 ? strlen (req->ptr2) : -1;
1786 break;
1787
1779 case EIO_READLINK: ALLOC (PATH_MAX); 1788 case EIO_READLINK: ALLOC (PATH_MAX);
1780 req->result = readlink (req->ptr1, req->ptr2, PATH_MAX); break; 1789 req->result = readlink (req->ptr1, req->ptr2, PATH_MAX); break;
1781 1790
1782 case EIO_SYNC: req->result = 0; sync (); break; 1791 case EIO_SYNC: req->result = 0; sync (); break;
1783 case EIO_FSYNC: req->result = fsync (req->int1); break; 1792 case EIO_FSYNC: req->result = fsync (req->int1); break;
2000eio_req *eio_readlink (const char *path, int pri, eio_cb cb, void *data) 2009eio_req *eio_readlink (const char *path, int pri, eio_cb cb, void *data)
2001{ 2010{
2002 return eio__1path (EIO_READLINK, path, pri, cb, data); 2011 return eio__1path (EIO_READLINK, path, pri, cb, data);
2003} 2012}
2004 2013
2014eio_req *eio_realpath (const char *path, int pri, eio_cb cb, void *data)
2015{
2016 return eio__1path (EIO_REALPATH, path, pri, cb, data);
2017}
2018
2005eio_req *eio_stat (const char *path, int pri, eio_cb cb, void *data) 2019eio_req *eio_stat (const char *path, int pri, eio_cb cb, void *data)
2006{ 2020{
2007 return eio__1path (EIO_STAT, path, pri, cb, data); 2021 return eio__1path (EIO_STAT, path, pri, cb, data);
2008} 2022}
2009 2023

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines