… | |
… | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. |
13 | GNU General Public License for more details. |
14 | |
14 | |
15 | You should have received a copy of the GNU General Public License |
15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software |
16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
17 | Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
18 | */ |
18 | */ |
19 | |
19 | |
20 | #include "iom.h" |
20 | #include "iom.h" |
21 | |
21 | |
22 | #include <cstdio> |
22 | #include <cstdio> |
… | |
… | |
380 | # if IOM_SIG |
380 | # if IOM_SIG |
381 | sigprocmask (SIG_BLOCK, &sigs, NULL); |
381 | sigprocmask (SIG_BLOCK, &sigs, NULL); |
382 | # endif |
382 | # endif |
383 | |
383 | |
384 | # if IOM_TIME |
384 | # if IOM_TIME |
|
|
385 | { |
|
|
386 | // update time, try to compensate for gross non-monotonic time changes |
|
|
387 | tstamp diff = NOW; |
385 | set_now (); |
388 | set_now (); |
|
|
389 | diff = NOW - diff; |
|
|
390 | |
|
|
391 | if (diff < 0) |
|
|
392 | for (io_manager_vec<time_watcher>::const_iterator i = tw.end (); i-- > tw.begin (); ) |
|
|
393 | if (*i) |
|
|
394 | (*i)->at += diff; |
|
|
395 | } |
386 | # endif |
396 | # endif |
387 | |
397 | |
388 | if (fds > 0) |
398 | if (fds > 0) |
389 | { |
399 | { |
390 | # if IOM_SIG |
400 | # if IOM_SIG |