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.68 by root, Tue Oct 24 03:40:25 2006 UTC vs.
Revision 1.69 by root, Tue Oct 24 11:57:30 2006 UTC

73 REQ_FSYNC, REQ_FDATASYNC, 73 REQ_FSYNC, REQ_FDATASYNC,
74 REQ_UNLINK, REQ_RMDIR, REQ_RENAME, 74 REQ_UNLINK, REQ_RMDIR, REQ_RENAME,
75 REQ_READDIR, 75 REQ_READDIR,
76 REQ_LINK, REQ_SYMLINK, 76 REQ_LINK, REQ_SYMLINK,
77 REQ_GROUP, REQ_NOP, 77 REQ_GROUP, REQ_NOP,
78 REQ_SLEEP, 78 REQ_BUSY,
79}; 79};
80 80
81#define AIO_REQ_KLASS "IO::AIO::REQ" 81#define AIO_REQ_KLASS "IO::AIO::REQ"
82#define AIO_GRP_KLASS "IO::AIO::GRP" 82#define AIO_GRP_KLASS "IO::AIO::GRP"
83 83
361 PUSHs (*av_fetch (av, i, 0)); 361 PUSHs (*av_fetch (av, i, 0));
362 } 362 }
363 break; 363 break;
364 364
365 case REQ_NOP: 365 case REQ_NOP:
366 case REQ_SLEEP: 366 case REQ_BUSY:
367 break; 367 break;
368 368
369 default: 369 default:
370 PUSHs (sv_2mortal (newSViv (req->result))); 370 PUSHs (sv_2mortal (newSViv (req->result)));
371 break; 371 break;
905 905
906 case REQ_FDATASYNC: req->result = fdatasync (req->fd); break; 906 case REQ_FDATASYNC: req->result = fdatasync (req->fd); break;
907 case REQ_FSYNC: req->result = fsync (req->fd); break; 907 case REQ_FSYNC: req->result = fsync (req->fd); break;
908 case REQ_READDIR: req->result = scandir_ (req->dataptr, &req->data2ptr); break; 908 case REQ_READDIR: req->result = scandir_ (req->dataptr, &req->data2ptr); break;
909 909
910 case REQ_SLEEP: 910 case REQ_BUSY:
911 { 911 {
912 struct timeval tv; 912 struct timeval tv;
913 913
914 tv.tv_sec = req->fd; 914 tv.tv_sec = req->fd;
915 tv.tv_usec = req->fd2; 915 tv.tv_usec = req->fd2;
1262 1262
1263 REQ_SEND; 1263 REQ_SEND;
1264} 1264}
1265 1265
1266void 1266void
1267aio_sleep (delay,callback=&PL_sv_undef) 1267aio_busy (delay,callback=&PL_sv_undef)
1268 double delay 1268 double delay
1269 SV * callback 1269 SV * callback
1270 PPCODE: 1270 PPCODE:
1271{ 1271{
1272 dREQ; 1272 dREQ;
1273 1273
1274 req->type = REQ_SLEEP; 1274 req->type = REQ_BUSY;
1275 req->fd = delay < 0. ? 0 : delay; 1275 req->fd = delay < 0. ? 0 : delay;
1276 req->fd2 = delay < 0. ? 0 : 1000. * (delay - req->fd); 1276 req->fd2 = delay < 0. ? 0 : 1000. * (delay - req->fd);
1277 1277
1278 REQ_SEND; 1278 REQ_SEND;
1279} 1279}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines