From 5e696e022d8383bc7abe6e6ba37c2664679fe81f Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 11 Jun 2009 19:34:50 +0200 Subject: conntrackd: allow to limit the number of simultaneous child processes This patch allows to limit the number of simultaneous child processes. This is required by the next patch that replaces disposable handlers to commit and flush with permanent handlers. Signed-off-by: Pablo Neira Ayuso --- include/process.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/process.h b/include/process.h index a7f07ea..9d29f22 100644 --- a/include/process.h +++ b/include/process.h @@ -1,14 +1,23 @@ #ifndef _PROCESS_H_ #define _PROCESS_H_ +enum process_type { + CTD_PROC_ANY, /* any type */ + CTD_PROC_FLUSH, /* flush process */ + CTD_PROC_COMMIT, /* commit process */ +}; + +#define CTD_PROC_F_EXCL (1 << 0) /* only one process at a time */ + struct child_process { struct list_head head; int pid; + int type; void (*cb)(void *data); void *data; }; -int fork_process_new(void (*cb)(void *data), void *data); +int fork_process_new(int type, int flags, void (*cb)(void *data), void *data); int fork_process_delete(int pid); #endif -- cgit v1.2.3