src/server/daemon/event_bsd.c

branch
webdav
changeset 260
4779a6fb4fbe
parent 187
4384bfbb7e26
child 263
533f9097d712
equal deleted inserted replaced
259:0b8692959d37 260:4779a6fb4fbe
120 struct kevent kev; 120 struct kevent kev;
121 EV_SET(&kev, fd, EVFILT_WRITE, EV_ADD, 0, 0, event); 121 EV_SET(&kev, fd, EVFILT_WRITE, EV_ADD, 0, 0, event);
122 return kevent(h->kqueue, &kev, 1, NULL, 0, NULL); 122 return kevent(h->kqueue, &kev, 1, NULL, 0, NULL);
123 } 123 }
124 124
125 int ev_remove_poll(EventHandler *h, int fd) {
126 // TODO:
127 return 0;
128 }
129
125 int event_send(EventHandler *h, Event *event) { 130 int event_send(EventHandler *h, Event *event) {
126 return 0; 131 return 0;
127 } 132 }
133
134 // TODO: remove this fake aio
135 int ev_aioread(int fd, aiocb_s *cb) {
136 ssize_t result = pread(fd, cb->buf, cb->nbytes, cb->offset);
137 cb->result = result;
138 if(result < 0) {
139 cb->result_errno = errno;
140 }
141 return event_send(cb->evhandler, cb->event);
142 }
143
144 int ev_aiowrite(int fd, aiocb_s *cb) {
145 ssize_t result = pwrite(fd, cb->buf, cb->nbytes, cb->offset);
146 cb->result = result;
147 if(result < 0) {
148 cb->result_errno = errno;
149 }
150 return event_send(cb->evhandler, cb->event);
151 }

mercurial