本文整理汇总了C++中JCR::my_thread_send_signal方法的典型用法代码示例。如果您正苦于以下问题:C++ JCR::my_thread_send_signal方法的具体用法?C++ JCR::my_thread_send_signal怎么用?C++ JCR::my_thread_send_signal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JCR
的用法示例。
在下文中一共展示了JCR::my_thread_send_signal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: jcr_timeout_check
static void jcr_timeout_check(watchdog_t *self)
{
JCR *jcr;
BSOCK *bs;
time_t timer_start;
Dmsg0(dbglvl, "Start JCR timeout checks\n");
/* Walk through all JCRs checking if any one is
* blocked for more than specified max time.
*/
foreach_jcr(jcr) {
Dmsg2(dbglvl, "jcr_timeout_check JobId=%u jcr=0x%x\n", jcr->JobId, jcr);
if (jcr->JobId == 0) {
continue;
}
bs = jcr->store_bsock;
if (bs) {
timer_start = bs->timer_start;
if (timer_start && (watchdog_time - timer_start) > bs->timeout) {
bs->timer_start = 0; /* turn off timer */
bs->set_timed_out();
Qmsg(jcr, M_ERROR, 0, _(
"Watchdog sending kill after %d secs to thread stalled reading Storage daemon.\n"),
watchdog_time - timer_start);
jcr->my_thread_send_signal(TIMEOUT_SIGNAL);
}
}
bs = jcr->file_bsock;
if (bs) {
timer_start = bs->timer_start;
if (timer_start && (watchdog_time - timer_start) > bs->timeout) {
bs->timer_start = 0; /* turn off timer */
bs->set_timed_out();
Qmsg(jcr, M_ERROR, 0, _(
"Watchdog sending kill after %d secs to thread stalled reading File daemon.\n"),
watchdog_time - timer_start);
jcr->my_thread_send_signal(TIMEOUT_SIGNAL);
}
}
bs = jcr->dir_bsock;
if (bs) {
timer_start = bs->timer_start;
if (timer_start && (watchdog_time - timer_start) > bs->timeout) {
bs->timer_start = 0; /* turn off timer */
bs->set_timed_out();
Qmsg(jcr, M_ERROR, 0, _(
"Watchdog sending kill after %d secs to thread stalled reading Director.\n"),
watchdog_time - timer_start);
jcr->my_thread_send_signal(TIMEOUT_SIGNAL);
}
}
}
endeach_jcr(jcr);
Dmsg0(dbglvl, "Finished JCR timeout checks\n");
}