]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
DEBUG: If GDB environment is set, don't do fd leak checks.
authorTimo Sirainen <tss@iki.fi>
Wed, 23 Jun 2004 17:48:35 +0000 (20:48 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 23 Jun 2004 17:48:35 +0000 (20:48 +0300)
--HG--
branch : HEAD

src/imap/main.c
src/login-common/main.c
src/master/main.c
src/pop3/main.c

index ede12e2578fa616220407d2d53c3e9e666304ccd..7aff236e9590f6bbe48a01113d916ecb75bbbbdf 100644 (file)
@@ -166,7 +166,7 @@ static void main_deinit(void)
 int main(int argc __attr_unused__, char *argv[], char *envp[])
 {
 #ifdef DEBUG
-       if (getenv("LOGGED_IN") != NULL)
+       if (getenv("LOGGED_IN") != NULL && getenv("GDB") == NULL)
                fd_debug_verify_leaks(3, 1024);
 #endif
        /* NOTE: we start rooted, so keep the code minimal until
index 7ef35b0a78dbe002ef52d3672d90793a891e5471..7df9ce1e0166f0b38314d34fa5d3b2a76c06d1fc 100644 (file)
@@ -229,7 +229,7 @@ int main(int argc __attr_unused__, char *argv[], char *envp[])
        is_inetd = getenv("DOVECOT_MASTER") == NULL;
 
 #ifdef DEBUG
-       if (!is_inetd)
+       if (!is_inetd && getenv("GDB") == NULL)
                fd_debug_verify_leaks(4, 1024);
 #endif
        /* NOTE: we start rooted, so keep the code minimal until
index d5060d8ed00c3a4a369153192999efcd0ff4e479..04a17f3003c7b07ed18dbe1538a57693bda94f5d 100644 (file)
@@ -37,6 +37,9 @@ struct ioloop *ioloop;
 struct hash_table *pids;
 int null_fd, inetd_login_fd;
 uid_t master_uid;
+#ifdef DEBUG
+static int gdb;
+#endif
 
 int validate_str(const char *str, size_t max_len)
 {
@@ -57,6 +60,10 @@ void child_process_init_env(void)
 
        /* we'll log through master process */
        env_put("LOG_TO_MASTER=1");
+
+#ifdef DEBUG
+       if (gdb) env_put("GDB=1");
+#endif
 }
 
 static void sig_quit(int signo __attr_unused__)
@@ -469,6 +476,9 @@ int main(int argc, char *argv[])
                exit(FATAL_DEFAULT);
        open_fds();
 
+#ifdef DEBUG
+       gdb = getenv("GDB") != NULL;
+#endif
        /* we don't need any environment */
        env_clean();
 
index e66724944fb2ef3846264bda554c5daa74dec802..0e2fb8f06abf0c63ceecf4687c9e708ab97fade4 100644 (file)
@@ -138,7 +138,7 @@ static void main_deinit(void)
 int main(int argc __attr_unused__, char *argv[], char *envp[])
 {
 #ifdef DEBUG
-       if (getenv("LOGGED_IN") != NULL)
+       if (getenv("LOGGED_IN") != NULL && getenv("GDB") == NULL)
                fd_debug_verify_leaks(3, 1024);
 #endif
        /* NOTE: we start rooted, so keep the code minimal until