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

Comparing libev/ev_iouring.c (file contents):
Revision 1.19 by root, Sat Dec 28 07:58:51 2019 UTC vs.
Revision 1.20 by root, Sat Dec 28 08:11:20 2019 UTC

456 if (nev) 456 if (nev)
457 { 457 {
458 struct io_uring_sqe *sqe = iouring_sqe_get (EV_A); 458 struct io_uring_sqe *sqe = iouring_sqe_get (EV_A);
459 sqe->opcode = IORING_OP_POLL_ADD; 459 sqe->opcode = IORING_OP_POLL_ADD;
460 sqe->fd = fd; 460 sqe->fd = fd;
461 sqe->addr = 0;
461 sqe->user_data = (uint32_t)fd | ((__u64)(uint32_t)anfds [fd].egen << 32); 462 sqe->user_data = (uint32_t)fd | ((__u64)(uint32_t)anfds [fd].egen << 32);
462 sqe->poll_events = 463 sqe->poll_events =
463 (nev & EV_READ ? POLLIN : 0) 464 (nev & EV_READ ? POLLIN : 0)
464 | (nev & EV_WRITE ? POLLOUT : 0); 465 | (nev & EV_WRITE ? POLLOUT : 0);
465 iouring_sqe_submit (EV_A_ sqe); 466 iouring_sqe_submit (EV_A_ sqe);
516 return; 517 return;
517 518
518 if (ecb_expect_false (res < 0)) 519 if (ecb_expect_false (res < 0))
519 { 520 {
520 /*TODO: EINVAL handling (was something failed with this fd)*/ 521 /*TODO: EINVAL handling (was something failed with this fd)*/
521 /*TODO: EBUSY happens when?*/
522 522
523 if (res == -EBADF) 523 if (res == -EBADF)
524 { 524 {
525 assert (("libev: event loop rejected bad fd", res != -EBADF)); 525 assert (("libev: event loop rejected bad fd", res != -EBADF));
526 fd_kill (EV_A_ fd); 526 fd_kill (EV_A_ fd);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines