コード例 #1
0
ファイル: sbd-common.c プロジェクト: l-mb/sbd
void
do_crashdump(void)
{
	if (timeout_watchdog_crashdump) {
		timeout_watchdog = timeout_watchdog_crashdump;
		watchdog_init_interval();
		watchdog_tickle();
	}
	sysrq_trigger('c');
	/* is it possible to reach the following line? */
	cl_reboot(5, "sbd is triggering crashdumping");
	exit(1);
}
コード例 #2
0
ファイル: sbd-common.c プロジェクト: gao-yan/sbd
int
watchdog_init(void)
{
	if (watchdogfd < 0 && watchdogdev != NULL) {
		watchdogfd = open(watchdogdev, O_WRONLY);
		if (watchdogfd >= 0) {
			cl_log(LOG_NOTICE, "Using watchdog device '%s'", watchdogdev);
			if ((watchdog_init_interval() < 0)
					|| (watchdog_tickle() < 0)) {
				return -1;
			}
		}else{
			cl_perror("Cannot open watchdog device '%s'", watchdogdev);
			return -1;
		}
	}
	return 0;
}