2015-11-19
2015-11-19 12:55:49 by Henrik Grubbström (Grubba) <grubba@grubba.org>
-
b1c564d54e4110f668eca1dcec30988cbb77111c
(17 lines)
(+15/-2)
[
Show
| Annotate
]
Branch: b1c564d54e4110f668eca1dcec30988cbb77111c
ABS: Added handler_ping().
Fixes some of [bug 7598 (#7598)].
6:
// Per Hedbor, Henrik Grubbström, Pontus Hagland, David Hedbor and others.
// ABS and suicide systems contributed freely by Francesco Chemolli
- constant cvs_version="$Id: roxen.pike,v 1.965 2007/08/14 13:54:03 grubba Exp $";
+ constant cvs_version="$Id$";
//! @appears roxen
//!
2755: Inside #if undefined(__NT__)
low_engage_abs();
}
+ //! Called to indicate that the handler threads are alive.
+ //!
+ //! Usually called automatically via @[handle()] by @[restart_if_stuck()],
+ //! but may need to be called by hand when handler threads are intentionally
+ //! blocked for a longer time (eg via long-lived global mutex locks).
+ //!
+ //! Do not call unless you know what you are doing.
+ void handler_ping()
+ {
+ handlers_alive = time();
+ }
+
void restart_if_stuck (int force)
//! @note
//! Must be called from the backend thread due to Linux peculiarities.
2780: Inside #if undefined(__NT__)
ctime(time()) - "\n");
engage_abs(0);
}
- handle(lambda() { handlers_alive = time(); });
+ handle(handler_ping);
}
#endif