Branch: Tag:

2015-11-19

2015-11-19 12:55:49 by Henrik Grubbström (Grubba) <grubba@grubba.org>

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