[dovecot-cvs] dovecot/src/master common.h,1.14,1.15 login-process.c,1.39,1.40 mail-process.c,1.12,1.13 mail-process.h,1.1,1.2 main.c,1.41,1.42

cras at procontrol.fi cras at procontrol.fi
Tue Apr 15 20:58:51 EEST 2003


Update of /home/cvs/dovecot/src/master
In directory danu:/tmp/cvs-serv5770

Modified Files:
	common.h login-process.c mail-process.c mail-process.h main.c 
Log Message:
Separate PROCESS_TYPE_MAIL into IMAP and POP3.



Index: common.h
===================================================================
RCS file: /home/cvs/dovecot/src/master/common.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- common.h	4 Mar 2003 04:02:56 -0000	1.14
+++ common.h	15 Apr 2003 16:58:48 -0000	1.15
@@ -13,7 +13,8 @@
 	PROCESS_TYPE_UNKNOWN,
 	PROCESS_TYPE_AUTH,
 	PROCESS_TYPE_LOGIN,
-	PROCESS_TYPE_MAIL,
+	PROCESS_TYPE_IMAP,
+	PROCESS_TYPE_POP3,
 	PROCESS_TYPE_SSL_PARAM,
 
 	PROCESS_TYPE_MAX

Index: login-process.c
===================================================================
RCS file: /home/cvs/dovecot/src/master/login-process.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- login-process.c	8 Apr 2003 13:12:48 -0000	1.39
+++ login-process.c	15 Apr 2003 16:58:48 -0000	1.40
@@ -31,6 +31,7 @@
 
 	const char *executable;
 	unsigned int process_size;
+	int process_type;
 	int *listen_fd, *ssl_listen_fd;
 };
 
@@ -84,11 +85,13 @@
 	if (strcmp(login_set->name, "imap") == 0) {
 		group->executable = set->imap_executable;
 		group->process_size = set->imap_process_size;
+		group->process_type = PROCESS_TYPE_IMAP;
 		group->listen_fd = &mail_fd[FD_IMAP];
 		group->ssl_listen_fd = &mail_fd[FD_IMAPS];
 	} else if (strcmp(login_set->name, "pop3") == 0) {
 		group->executable = set->pop3_executable;
 		group->process_size = set->pop3_process_size;
+		group->process_type = PROCESS_TYPE_POP3;
 		group->listen_fd = &mail_fd[FD_POP3];
 		group->ssl_listen_fd = &mail_fd[FD_POP3S];
 	} else
@@ -118,7 +121,8 @@
 			create_mail_process(request->fd, &request->ip,
 					    group->executable,
 					    group->process_size,
-					    reply, (const char *) data);
+					    group->process_type, reply,
+					    (const char *) data);
 	}
 
 	/* reply to login */

Index: mail-process.c
===================================================================
RCS file: /home/cvs/dovecot/src/master/mail-process.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- mail-process.c	14 Mar 2003 09:35:24 -0000	1.12
+++ mail-process.c	15 Apr 2003 16:58:48 -0000	1.13
@@ -101,7 +101,8 @@
 
 int create_mail_process(int socket, struct ip_addr *ip,
 			const char *executable, unsigned int process_size,
-			struct auth_master_reply *reply, const char *data)
+			int process_type, struct auth_master_reply *reply,
+			const char *data)
 {
 	static const char *argv[] = { NULL, NULL, NULL };
 	const char *host, *mail;
@@ -129,7 +130,7 @@
 	if (pid != 0) {
 		/* master */
 		mail_process_count++;
-		PID_ADD_PROCESS_TYPE(pid, PROCESS_TYPE_MAIL);
+		PID_ADD_PROCESS_TYPE(pid, process_type);
 		return TRUE;
 	}
 

Index: mail-process.h
===================================================================
RCS file: /home/cvs/dovecot/src/master/mail-process.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- mail-process.h	30 Jan 2003 17:59:32 -0000	1.1
+++ mail-process.h	15 Apr 2003 16:58:48 -0000	1.2
@@ -5,7 +5,8 @@
 
 int create_mail_process(int socket, struct ip_addr *ip,
 			const char *executable, unsigned int process_size,
-			struct auth_master_reply *reply, const char *data);
+			int process_type, struct auth_master_reply *reply,
+			const char *data);
 
 void mail_process_destroyed(pid_t pid);
 

Index: main.c
===================================================================
RCS file: /home/cvs/dovecot/src/master/main.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- main.c	4 Mar 2003 04:02:56 -0000	1.41
+++ main.c	15 Apr 2003 16:58:48 -0000	1.42
@@ -25,6 +25,7 @@
 	"auth",
 	"login",
 	"imap",
+	"pop3",
 	"ssl-param"
 };
 
@@ -122,7 +123,8 @@
 		process_type = PID_GET_PROCESS_TYPE(pid);
 		PID_REMOVE_PROCESS_TYPE(pid);
 
-		if (process_type == PROCESS_TYPE_MAIL)
+		if (process_type == PROCESS_TYPE_IMAP ||
+		    process_type == PROCESS_TYPE_POP3)
 			mail_process_destroyed(pid);
 		if (process_type == PROCESS_TYPE_SSL_PARAM)
 			ssl_parameter_process_destroyed(pid);




More information about the dovecot-cvs mailing list