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

Comparing libeio/eio.c (file contents):
Revision 1.72 by root, Fri Jun 10 12:45:20 2011 UTC vs.
Revision 1.74 by root, Mon Jun 20 07:28:15 2011 UTC

200/*****************************************************************************/ 200/*****************************************************************************/
201 201
202#define ETP_NUM_PRI (ETP_PRI_MAX - ETP_PRI_MIN + 1) 202#define ETP_NUM_PRI (ETP_PRI_MAX - ETP_PRI_MIN + 1)
203 203
204/* calculate time difference in ~1/EIO_TICKS of a second */ 204/* calculate time difference in ~1/EIO_TICKS of a second */
205ECB_INLINE int 205ecb_inline int
206tvdiff (struct timeval *tv1, struct timeval *tv2) 206tvdiff (struct timeval *tv1, struct timeval *tv2)
207{ 207{
208 return (tv2->tv_sec - tv1->tv_sec ) * EIO_TICKS 208 return (tv2->tv_sec - tv1->tv_sec ) * EIO_TICKS
209 + ((tv2->tv_usec - tv1->tv_usec) >> 10); 209 + ((tv2->tv_usec - tv1->tv_usec) >> 10);
210} 210}
1305 flags &= ~(EIO_READDIR_DIRS_FIRST | EIO_READDIR_STAT_ORDER); 1305 flags &= ~(EIO_READDIR_DIRS_FIRST | EIO_READDIR_STAT_ORDER);
1306 1306
1307 X_LOCK (wrklock); 1307 X_LOCK (wrklock);
1308 /* the corresponding closedir is in ETP_WORKER_CLEAR */ 1308 /* the corresponding closedir is in ETP_WORKER_CLEAR */
1309 self->dirp = dirp = opendir (req->ptr1); 1309 self->dirp = dirp = opendir (req->ptr1);
1310
1311 if (req->flags & EIO_FLAG_PTR1_FREE)
1312 free (req->ptr1);
1310 1313
1311 req->flags |= EIO_FLAG_PTR1_FREE | EIO_FLAG_PTR2_FREE; 1314 req->flags |= EIO_FLAG_PTR1_FREE | EIO_FLAG_PTR2_FREE;
1312 req->ptr1 = dents = flags ? malloc (dentalloc * sizeof (eio_dirent)) : 0; 1315 req->ptr1 = dents = flags ? malloc (dentalloc * sizeof (eio_dirent)) : 0;
1313 req->ptr2 = names = malloc (namesalloc); 1316 req->ptr2 = names = malloc (namesalloc);
1314 X_UNLOCK (wrklock); 1317 X_UNLOCK (wrklock);
1695eio_init (void (*want_poll)(void), void (*done_poll)(void)) 1698eio_init (void (*want_poll)(void), void (*done_poll)(void))
1696{ 1699{
1697 return etp_init (want_poll, done_poll); 1700 return etp_init (want_poll, done_poll);
1698} 1701}
1699 1702
1700ECB_INLINE void 1703ecb_inline void
1701eio_api_destroy (eio_req *req) 1704eio_api_destroy (eio_req *req)
1702{ 1705{
1703 free (req); 1706 free (req);
1704} 1707}
1705 1708

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines