*
*/
/*
- Copyright (C) 2000-2005 Kern Sibbald
+ Copyright (C) 2000-2006 Kern Sibbald
This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
+ modify it under the terms of the GNU General Public License
+ version 2 as amended with additional clauses defined in the
+ file LICENSE in the main source directory.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public
- License along with this program; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ the file LICENSE for additional details.
*/
bool register_watchdog(watchdog_t *wd)
{
if (!wd_is_init) {
- Emsg0(M_ABORT, 0, "BUG! register_watchdog called before start_watchdog\n");
+ Emsg0(M_ABORT, 0, _("BUG! register_watchdog called before start_watchdog\n"));
}
if (wd->callback == NULL) {
- Emsg1(M_ABORT, 0, "BUG! Watchdog %p has NULL callback\n", wd);
+ Emsg1(M_ABORT, 0, _("BUG! Watchdog %p has NULL callback\n"), wd);
}
if (wd->interval == 0) {
- Emsg1(M_ABORT, 0, "BUG! Watchdog %p has zero interval\n", wd);
+ Emsg1(M_ABORT, 0, _("BUG! Watchdog %p has zero interval\n"), wd);
}
wd_lock();
bool ok = false;
if (!wd_is_init) {
- Emsg0(M_ABORT, 0, "BUG! unregister_watchdog_unlocked called before start_watchdog\n");
+ Emsg0(M_ABORT, 0, _("BUG! unregister_watchdog_unlocked called before start_watchdog\n"));
}
wd_lock();
foreach_dlist(p, wd_queue) {
if (p->next_fire <= watchdog_time) {
/* Run the callback */
+ Dmsg2(3400, "Watchdog callback p=0x%p fire=%d\n", p, p->next_fire);
p->callback(p);
/* Reschedule (or move to inactive list if it's a one-shot timer) */
p->next_fire = watchdog_time + p->interval;
}
}
- if (p->next_fire < next_time) {
+ if (p->next_fire <= next_time) {
next_time = p->next_fire;
}
}
{
int errstat;
if ((errstat=rwl_writelock(&lock)) != 0) {
- Emsg1(M_ABORT, 0, "rwl_writelock failure. ERR=%s\n",
+ Emsg1(M_ABORT, 0, _("rwl_writelock failure. ERR=%s\n"),
strerror(errstat));
}
}
{
int errstat;
if ((errstat=rwl_writeunlock(&lock)) != 0) {
- Emsg1(M_ABORT, 0, "rwl_writeunlock failure. ERR=%s\n",
+ Emsg1(M_ABORT, 0, _("rwl_writeunlock failure. ERR=%s\n"),
strerror(errstat));
}
}