version 1.1.1.1, 2013/10/14 10:32:48
|
version 1.1.1.3, 2016/11/02 10:35:00
|
Line 1
|
Line 1
|
|
#include "first.h" |
|
|
#include "fdevent.h" |
#include "fdevent.h" |
#include "buffer.h" |
#include "buffer.h" |
#include "log.h" |
#include "log.h" |
Line 121 int fdevent_solaris_devpoll_reset(fdevents *ev) {
|
Line 123 int fdevent_solaris_devpoll_reset(fdevents *ev) {
|
return -1; |
return -1; |
} |
} |
|
|
if (fcntl(ev->devpoll_fd, F_SETFD, FD_CLOEXEC) < 0) { | fd_close_on_exec(ev->devpoll_fd); |
log_error_write(ev->srv, __FILE__, __LINE__, "SSS", | |
"fcntl /dev/poll fd failed (", strerror(errno), "), try to set server.event-handler = \"poll\" or \"select\""); | |
| |
close(ev->devpoll_fd); | |
| |
return -1; | |
} | |
return 0; |
return 0; |
} |
} |
int fdevent_solaris_devpoll_init(fdevents *ev) { |
int fdevent_solaris_devpoll_init(fdevents *ev) { |
Line 148 int fdevent_solaris_devpoll_init(fdevents *ev) {
|
Line 143 int fdevent_solaris_devpoll_init(fdevents *ev) {
|
SET(event_get_revent); |
SET(event_get_revent); |
|
|
ev->devpollfds = malloc(sizeof(*ev->devpollfds) * ev->maxfds); |
ev->devpollfds = malloc(sizeof(*ev->devpollfds) * ev->maxfds); |
|
force_assert(NULL != ev->devpollfds); |
|
|
if ((ev->devpoll_fd = open("/dev/poll", O_RDWR)) < 0) { |
if ((ev->devpoll_fd = open("/dev/poll", O_RDWR)) < 0) { |
log_error_write(ev->srv, __FILE__, __LINE__, "SSS", |
log_error_write(ev->srv, __FILE__, __LINE__, "SSS", |