ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/AIO.xs
(Generate patch)

Comparing IO-AIO/AIO.xs (file contents):
Revision 1.157 by root, Sat Jan 2 12:58:37 2010 UTC vs.
Revision 1.158 by root, Sat Jan 2 14:11:32 2010 UTC

545 const_iv (FADV_RANDOM , POSIX_FADV_RANDOM) 545 const_iv (FADV_RANDOM , POSIX_FADV_RANDOM)
546 const_iv (FADV_NOREUSE , POSIX_FADV_NOREUSE) 546 const_iv (FADV_NOREUSE , POSIX_FADV_NOREUSE)
547 const_iv (FADV_WILLNEED , POSIX_FADV_WILLNEED) 547 const_iv (FADV_WILLNEED , POSIX_FADV_WILLNEED)
548 const_iv (FADV_DONTNEED , POSIX_FADV_DONTNEED) 548 const_iv (FADV_DONTNEED , POSIX_FADV_DONTNEED)
549 549
550 const_eio (MS_ASYNC)
551 const_eio (MS_INVALIDATE)
552 const_eio (MS_SYNC)
553
554 const_eio (MT_MODIFY)
555
550 const_eio (SYNC_FILE_RANGE_WAIT_BEFORE) 556 const_eio (SYNC_FILE_RANGE_WAIT_BEFORE)
551 const_eio (SYNC_FILE_RANGE_WRITE) 557 const_eio (SYNC_FILE_RANGE_WRITE)
552 const_eio (SYNC_FILE_RANGE_WAIT_AFTER) 558 const_eio (SYNC_FILE_RANGE_WAIT_AFTER)
553 559
554 const_eio (READDIR_DENTS) 560 const_eio (READDIR_DENTS)
992 req->ptr1 = SvPVbyte_nolen (req->sv1); 998 req->ptr1 = SvPVbyte_nolen (req->sv1);
993 req->int2 = (mode_t)mode; 999 req->int2 = (mode_t)mode;
994 req->offs = dev; 1000 req->offs = dev;
995 1001
996 REQ_SEND; 1002 REQ_SEND;
1003}
1004
1005void
1006aio_mtouch (SV8 *data, IV offset = 0, SV *length = &PL_sv_undef, int flags = 0, SV *callback=&PL_sv_undef)
1007 ALIAS:
1008 aio_mtouch = EIO_MTOUCH
1009 aio_msync = EIO_MSYNC
1010 PROTOTYPE: $$$$;$
1011 PPCODE:
1012{
1013 STRLEN svlen;
1014 UV len = SvUV (length);
1015 char *svptr = SvPVbyte (data, svlen);
1016
1017 if (offset < 0)
1018 offset += svlen;
1019
1020 if (offset < 0 || offset > svlen)
1021 croak ("offset outside of scalar");
1022
1023 if (!SvOK (length) || len + offset > svlen)
1024 len = svlen - offset;
1025
1026 {
1027 dREQ;
1028
1029 req->type = ix;
1030 req->size = len;
1031 req->sv2 = SvREFCNT_inc (data);
1032 req->ptr2 = (char *)svptr + offset;
1033 req->int1 = flags;
1034
1035 REQ_SEND;
1036 }
997} 1037}
998 1038
999void 1039void
1000aio_busy (double delay, SV *callback=&PL_sv_undef) 1040aio_busy (double delay, SV *callback=&PL_sv_undef)
1001 PPCODE: 1041 PPCODE:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines