3.3 msg.c:告警处理
来源:互联网 发布:手机文件加密软件2016 编辑:程序博客网 时间:2024/05/16 06:02
msg.c用来实现postfix中的警告信息显示。警告信息根据其严重程度分为info、warn、error、panic、fatal等级别。分别用msg_info、msg_warn、msg_error、msg_panic、msg_fatal函数实现(又分别调用了vmsg_info等函数)。严重的告警级别会终止程序。
/util/msg.cvoid vmsg_info(const char *fmt, va_list ap){ msg_vprintf(MSG_INFO, fmt, ap);}void vmsg_warn(const char *fmt, va_list ap){ msg_vprintf(MSG_WARN, fmt, ap);}void vmsg_error(const char *fmt, va_list ap){ msg_vprintf(MSG_ERROR, fmt, ap); if (++msg_error_count >= msg_error_bound)msg_fatal("too many errors - program terminated");}NORETURN vmsg_panic(const char *fmt, va_list ap){ if (msg_exiting++ == 0) {msg_vprintf(MSG_PANIC, fmt, ap); } sleep(1); abort();/* Die! */ /* In case we're running as a signal handler. */ _exit(1);/* DIE!! */}NORETURN vmsg_fatal(const char *fmt, va_list ap){ if (msg_exiting++ == 0) {msg_vprintf(MSG_FATAL, fmt, ap);if (msg_cleanup_fn) msg_cleanup_fn(); } sleep(1); /* In case we're running as a signal handler. */ _exit(1);}
可见对于msg_info和msg_warn,仅仅打印出提示或警告信息。对于msg_error,如果出错信息过多超过限制,则执行msg_fatal。对于msg_panic和msg_fatal,不仅仅要打印出错信息,还要退出程序。msg_fatal可以挂接一个执行清理工作的回调函数。
0 0
- 3.3 msg.c:告警处理
- msg.c
- msg.c
- JSF2 error msg处理
- 告警的处理
- php date函数告警处理
- oracle锁告警处理案例
- 【ExtJs】带日期组件的文本输入框、容器与Ext.Msg.alert告警框告警两次
- MSG
- MSG
- msg
- SDH如何处理收无光(R_LOS)告警
- 处理AFNetworking的SystemConfiguration与MobileCoreServices告警
- iOS内存告警情况下地内存处理
- VC++一些编译告警的处理
- python处理risk_app告警Log小程序
- 怎样创建合适的告警处理流程?
- Linux磁盘告警一般处理流程
- 万能删除
- GNU ARM 汇编指令【转】
- 把数组排成最小的数
- 第三章 线程
- UVA10815 - Andy's First Dictionary
- 3.3 msg.c:告警处理
- C#连接mysql数据库插入数据后获取自增长主键ID值
- 求第k个排列组合(Permutation Sequence)
- iOS 中copy的简单理解
- C++第三次作业
- Mysql的主从复制
- oauth2.0
- Android 获取系统时间的时间戳
- 3.4 mymalloc.c:内存管理