diff options
author | root <root> | 2011-06-03 00:04:52 +0000 |
---|---|---|
committer | root <root> | 2011-06-03 00:04:52 +0000 |
commit | a9e3edbbaef8f747345cbaabb111219272ed1a53 (patch) | |
tree | eaa85889dfa1743f8e3fcd7a18e94153410ef389 | |
parent | 2e973617d5c21aa162c0a3852efdfe2812c24e53 (diff) |
*** empty log message ***
-rw-r--r-- | ev_kqueue.c | 2 | ||||
-rw-r--r-- | ev_port.c | 6 | ||||
-rw-r--r-- | ev_select.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/ev_kqueue.c b/ev_kqueue.c index b70faa1..3c62d18 100644 --- a/ev_kqueue.c +++ b/ev_kqueue.c @@ -1,7 +1,7 @@ /* * libev kqueue backend * - * Copyright (c) 2007,2008,2009,2010 Marc Alexander Lehmann <libev@schmorp.de> + * Copyright (c) 2007,2008,2009,2010,2011 Marc Alexander Lehmann <libev@schmorp.de> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- @@ -147,6 +147,12 @@ port_init (EV_P_ int flags) fcntl (backend_fd, F_SETFD, FD_CLOEXEC); /* not sure if necessary, hopefully doesn't hurt */ + /* if my reading of the opensolaris kernel sources are correct, then + * opensolaris does something very stupid: it checks if the time has already + * elapsed and doesn't round up if that is the case,m otherwise it DOES round + * up. Since we can't know what the case is, we need to guess by using a + * "large enough" timeout. Normally, 1e-9 would be correct. + */ backend_fudge = 1e-3; /* needed to compensate for port_getn returning early */ backend_modify = port_modify; backend_poll = port_poll; diff --git a/ev_select.c b/ev_select.c index fdf2adc..df5e624 100644 --- a/ev_select.c +++ b/ev_select.c @@ -1,7 +1,7 @@ /* * libev select fd activity backend * - * Copyright (c) 2007,2008,2009,2010 Marc Alexander Lehmann <libev@schmorp.de> + * Copyright (c) 2007,2008,2009,2010,2011 Marc Alexander Lehmann <libev@schmorp.de> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- |