[Openais] logsys patch

David Teigland teigland at redhat.com
Tue Jul 1 12:32:41 PDT 2008


The attached patch adds a simple, function-based api to logsys, allowing
simple programs to use it more cleanly (without macros).

Dave

-------------- next part --------------
Index: logsys.c
===================================================================
--- logsys.c	(revision 1568)
+++ logsys.c	(working copy)
@@ -632,3 +632,39 @@
 {
 	worker_thread_group_wait (&log_thread_group);
 }
+
+int logsys_init(char *name, int mode, int facility, int priority, char *file)
+{
+	char *errstr;
+
+	strncpy(logsys_loggers[0].subsys, name,
+		sizeof(logsys_loggers[0].subsys));
+	logsys_config_mode_set(mode);
+	logsys_config_facility_set(name, facility);
+	logsys_config_file_set(&errstr, file);
+	_logsys_config_priority_set(0, priority);
+	if ((mode & LOG_MODE_BUFFER_BEFORE_CONFIG) == 0) {
+		_logsys_wthread_create();
+	}
+	return 0;
+}
+
+int logsys_conf(char *name, int mode, int facility, int priority, char *file)
+{
+	char *errstr;
+
+	strncpy(logsys_loggers[0].subsys, name,
+		sizeof(logsys_loggers[0].subsys));
+	logsys_config_mode_set(mode);
+	logsys_config_facility_set(name, facility);
+	logsys_config_file_set(&errstr, file);
+	_logsys_config_priority_set(0, priority);
+	return 0;
+}
+
+int logsys_exit(void)
+{
+	/* nothing for this to do yet, maybe later? */
+	return 0;
+}
+
Index: logsys.h
===================================================================
--- logsys.h	(revision 1568)
+++ logsys.h	(working copy)
@@ -170,8 +170,9 @@
 	}								\
 }
 
+static unsigned int logsys_subsys_id __attribute__((unused));		\
+
 #define LOGSYS_DECLARE_NOSUBSYS(priority)				\
-static unsigned int logsys_subsys_id __attribute__((unused));		\
 __attribute__ ((constructor)) static void logsys_nosubsys_init (void)	\
 {									\
 	_logsys_nosubsys_set();						\
@@ -180,7 +181,6 @@
 }
 
 #define LOGSYS_DECLARE_SUBSYS(subsys,priority)				\
-static unsigned int logsys_subsys_id __attribute__((unused));		\
 __attribute__ ((constructor)) static void logsys_subsys_init (void)	\
 {									\
 	logsys_subsys_id =						\
@@ -293,4 +293,10 @@
 	_logsys_config_priority_set (logsys_subsys_id, priority);       \
 } while(0)
 
+/* simple, function-based api */
+
+int logsys_init(char *name, int mode, int facility, int priority, char *file);
+int logsys_conf(char *name, int mode, int facility, int priority, char *file);
+int logsys_exit(void);
+
 #endif /* LOGSYS_H_DEFINED */


More information about the Openais mailing list