PyGILState_STATE gil_state;\
gil_state = PyGILState_Ensure();
+#define CPY_RETURN_FROM_THREADS \
+ PyGILState_Release(gil_state);\
+ return
+
#define CPY_RELEASE_THREADS \
PyGILState_Release(gil_state);\
}
typedef struct {
PyObject_HEAD /* No semicolon! */
- PyObject *values; /* Sequence */
double time;
- int interval;
char host[DATA_MAX_NAME_LEN];
char plugin[DATA_MAX_NAME_LEN];
char plugin_instance[DATA_MAX_NAME_LEN];
char type[DATA_MAX_NAME_LEN];
char type_instance[DATA_MAX_NAME_LEN];
+} PluginData;
+
+PyTypeObject PluginDataType;
+
+typedef struct {
+ PluginData data;
+ PyObject *values; /* Sequence */
+ int interval;
} Values;
PyTypeObject ValuesType;
+
+typedef struct {
+ PluginData data;
+ int severity;
+ char message[NOTIF_MAX_MSG_LEN];
+} Notification;
+
+PyTypeObject NotificationType;