next attempt (I need a bsd shell)

master
leitner 3 years ago
parent efb1a8a2ae
commit 853242b078

@ -274,13 +274,13 @@ int64 io_waituntil2(int64 milliseconds) {
if (!e->canread || e->wantread) { if (!e->canread || e->wantread) {
newevents |= POLLIN; newevents |= POLLIN;
EV_SET(kev, n, EVFILT_READ, EV_ADD|EV_ENABLE, 0, 0, 0); ++n; EV_SET(kev, y[n].ident, EVFILT_READ, EV_ADD|EV_ENABLE, 0, 0, 0); ++nkev;
e->kernelwantread=1; e->kernelwantread=1;
} else } else
e->kernelwantread=0; e->kernelwantread=0;
if (!e->canwrite || e->wantwrite) { if (!e->canwrite || e->wantwrite) {
newevents |= POLLOUT; newevents |= POLLOUT;
EV_SET(kev+nkev, n, EVFILT_WRITE, EV_ADD|EV_ENABLE, 0, 0, 0); ++nkev; EV_SET(kev+nkev, y[n].ident, EVFILT_WRITE, EV_ADD|EV_ENABLE, 0, 0, 0); ++nkev;
e->kernelwantwrite=1; e->kernelwantwrite=1;
} else } else
e->kernelwantwrite=0; e->kernelwantwrite=0;
@ -296,7 +296,7 @@ int64 io_waituntil2(int64 milliseconds) {
if (!e->canread && (y[n].filter&EVFILT_WRITE)) { if (!e->canread && (y[n].filter&EVFILT_WRITE)) {
if (e->canread) { if (e->canread) {
newevents &= ~POLLIN; newevents &= ~POLLIN;
EV_SET(kev+nkev, n, EVFILT_READ, EV_DELETE, 0, 0, 0); ++nkev; EV_SET(kev+nkev, y[n].ident, EVFILT_READ, EV_DELETE, 0, 0, 0); ++nkev;
} else { } else {
e->canread=1; e->canread=1;
if (e->wantread) { if (e->wantread) {
@ -321,7 +321,7 @@ int64 io_waituntil2(int64 milliseconds) {
* us alone for now. */ * us alone for now. */
if (e->canwrite) { if (e->canwrite) {
newevents &= ~POLLOUT; newevents &= ~POLLOUT;
EV_SET(kev+nkev, n, EVFILT_WRITE, EV_DELETE, 0, 0, 0); ++nkev; EV_SET(kev+nkev, y[n].ident, EVFILT_WRITE, EV_DELETE, 0, 0, 0); ++nkev;
e->kernelwantwrite=0; e->kernelwantwrite=0;
} else { } else {
/* If !e->wantwrite: The laziness optimization in /* If !e->wantwrite: The laziness optimization in

Loading…
Cancel
Save