当前位置: 首页>>代码示例>>C++>>正文


C++ Daemon::unblock_signals方法代码示例

本文整理汇总了C++中Daemon::unblock_signals方法的典型用法代码示例。如果您正苦于以下问题:C++ Daemon::unblock_signals方法的具体用法?C++ Daemon::unblock_signals怎么用?C++ Daemon::unblock_signals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Daemon的用法示例。


在下文中一共展示了Daemon::unblock_signals方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if


//.........这里部分代码省略.........
		usage();

	sockarg = cp;

	//	Daemonize.
	//	Do not change user and/or group now, since we need full
	//		permissions for sockets.

	try {
		daemon.program(name());
		daemon.lock_file(FilePath(LOCKDIR) + daemon.program());
		daemon.pid_file(FilePath(RUNDIR) + (daemon.program() + ".pid"));
		daemon.user(user);
		daemon.group(group);
		daemon.log_to_stderr(logstd);
		daemon.jail(jail);
		daemon.block_signals();
		daemon.ignore_signals();

		if (!nodaemon)
			daemon.detach();

		daemon.close_all(!stderrOnly);
		daemon.open_log(LOG_PID | LOG_NDELAY, LOG_MAIL);
		::signal(SIGABRT, SIG_DFL);
		::signal(SIGTERM, SIG_DFL);
		::signal(SIGINT, SIG_DFL);
		::signal(SIGILL, SIG_DFL);
		::signal(SIGIOT, SIG_DFL);
		::signal(SIGBUS, SIG_DFL);
		::signal(SIGFPE, SIG_DFL);
		::signal(SIGSEGV, SIG_DFL);
		::signal(SIGSTKFLT, SIG_DFL);
		daemon.unblock_signals();

		if (!nodaemon) {
			if (!daemon.lock()) {
				log(name() + " already running: exit");
				closelog();
				return 1;
				}

			daemon.write_pid();
			}
		}
	catch (std::exception& e) {
		die = true;
		log(e.what(), LOG_CRIT);
		closelog();
		return 1;
		}

	try {
		daemon.go_home();

		//	Harden our umask so that the new socket gets created
		//		securely.

		umask(0077);

		//	Register to the milter interface.

		socket(sockarg);
		debug(debuglvl);

		if (initialize<Undervest>() != MI_SUCCESS) {
开发者ID:monnerat,项目名称:undervest,代码行数:67,代码来源:main.cpp


注:本文中的Daemon::unblock_signals方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。