#include <error.h>
#include <errno.h>
#include <stdint.h>
-#include <pthread.h>
struct event_handler;
char *name;
};
-struct mutex {
- pthread_mutex_t lock;
- int line;
- char *file;
- char owner_name[16];
- time_t lock_time;
- char *name;
-};
-
int register_event_handler(struct event_handler *handler);
int init_jobcontrol(int max_jobs_requested);
int run_piped_stream(const char *cmd, char *const argv[],
FILE **stdinf, FILE **stdoutf, FILE **stderrf);
-void _mutex_lock_acquired(struct mutex *lock, char *file, int line);
-int _mutex_lock(struct mutex *lock, char *file, int line);
-int _mutex_unlock(struct mutex *lock);
-
-#define mutex_lock(lock) _mutex_lock(lock, __FILE__, __LINE__)
-#define mutex_unlock(lock) _mutex_unlock(lock)
-#define mutex_lock_acquired(lock) _mutex_lock_acquired(lock, __FILE__, __LINE__)
-
enum {
WORK_PRIORITY_HIGH,
WORK_PRIORITY_LOW,
#ifndef _UTILS_H_
#define _UTILS_H_
+#include <pthread.h>
+
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a,b) (a) < (b) ? (b) : (a)
#define ARRAY_SIZE(a) (sizeof(a) / (sizeof((a)[0])))
+struct mutex {
+ pthread_mutex_t lock;
+ int line;
+ char *file;
+ char owner_name[16];
+ time_t lock_time;
+ char *name;
+};
+
+void _mutex_lock_acquired(struct mutex *lock, char *file, int line);
+int _mutex_lock(struct mutex *lock, char *file, int line);
+int _mutex_unlock(struct mutex *lock);
+
+#define mutex_lock(lock) _mutex_lock(lock, __FILE__, __LINE__)
+#define mutex_unlock(lock) _mutex_unlock(lock)
+#define mutex_lock_acquired(lock) _mutex_lock_acquired(lock, __FILE__, __LINE__)
+
#endif