… | |
… | |
145 | |
145 | |
146 | assert (("libev: PORT_SOURCE_FD must not be zero", PORT_SOURCE_FD)); |
146 | assert (("libev: PORT_SOURCE_FD must not be zero", PORT_SOURCE_FD)); |
147 | |
147 | |
148 | fcntl (backend_fd, F_SETFD, FD_CLOEXEC); /* not sure if necessary, hopefully doesn't hurt */ |
148 | fcntl (backend_fd, F_SETFD, FD_CLOEXEC); /* not sure if necessary, hopefully doesn't hurt */ |
149 | |
149 | |
|
|
150 | /* if my reading of the opensolaris kernel sources are correct, then |
|
|
151 | * opensolaris does something very stupid: it checks if the time has already |
|
|
152 | * elapsed and doesn't round up if that is the case,m otherwise it DOES round |
|
|
153 | * up. Since we can't know what the case is, we need to guess by using a |
|
|
154 | * "large enough" timeout. Normally, 1e-9 would be correct. |
|
|
155 | */ |
150 | backend_fudge = 1e-3; /* needed to compensate for port_getn returning early */ |
156 | backend_fudge = 1e-3; /* needed to compensate for port_getn returning early */ |
151 | backend_modify = port_modify; |
157 | backend_modify = port_modify; |
152 | backend_poll = port_poll; |
158 | backend_poll = port_poll; |
153 | |
159 | |
154 | port_eventmax = 64; /* initial number of events receivable per poll */ |
160 | port_eventmax = 64; /* initial number of events receivable per poll */ |