diff options
author | pav <pav@FreeBSD.org> | 2005-07-19 00:04:16 +0800 |
---|---|---|
committer | pav <pav@FreeBSD.org> | 2005-07-19 00:04:16 +0800 |
commit | 04fb4b6794da4aa50daf3ac426a900b7a825267d (patch) | |
tree | 1b2cb499f6323d7c39396f7810b028a42f79e61d /mail/dbmail/files/patch-2.0.4_bug190_server.c | |
parent | 7adf173660910105f97acb77eb59275dd1ebaf90 (diff) | |
download | freebsd-ports-gnome-04fb4b6794da4aa50daf3ac426a900b7a825267d.tar.gz freebsd-ports-gnome-04fb4b6794da4aa50daf3ac426a900b7a825267d.tar.zst freebsd-ports-gnome-04fb4b6794da4aa50daf3ac426a900b7a825267d.zip |
- Patch nine bugs:
#79 - INTERNALDATE reponses do not conform to RFC
#145 - LMTP loses return-path
#177 - Compile Fails on FreeBSD
(fixes compilation on FreeBSD 4.X)
#184 - socklen_t issue
#190 - huge load if database crash
#198 - DBMail processes killing each other
#199 - spare child creates zombie
#214 - dbmail-smtp dumps core with double free
#216 - malformed header prevents delivery
- Fix RC_SUBR usage
PR: ports/83437, also ports/80736, ports/82437, ports/83575
Submitted by: Mark Starovoytov <mark@kikg.ifmo.ru>,
parts also by: Radim Kolar <hsn@netmag.cz>, thompsa,
Marcus Grando <marcus@corp.grupos.com.br>
Approved by: maintainer timeout (2 months on oldest PR)
Diffstat (limited to 'mail/dbmail/files/patch-2.0.4_bug190_server.c')
-rw-r--r-- | mail/dbmail/files/patch-2.0.4_bug190_server.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mail/dbmail/files/patch-2.0.4_bug190_server.c b/mail/dbmail/files/patch-2.0.4_bug190_server.c new file mode 100644 index 000000000000..23129a5c8b52 --- /dev/null +++ b/mail/dbmail/files/patch-2.0.4_bug190_server.c @@ -0,0 +1,41 @@ +Index: server.c +=================================================================== +--- server.c (revision 1600) ++++ server.c (revision 1758) +@@ -119,9 +119,15 @@ + alarm(10); + + trace(TRACE_DEBUG, "StartServer(): children created, starting main service loop"); +- while (!GeneralStopRequested) +- manage_restart_children(); +- ++ while (!GeneralStopRequested) { ++ if (db_connect() != 0) { ++ GeneralStopRequested=1; ++ } else { ++ db_disconnect(); ++ manage_restart_children(); ++ } ++ } ++ + manage_stop_children(); + scoreboard_delete(); + +@@ -131,6 +137,8 @@ + + void ParentSigHandler(int sig, siginfo_t * info, void *data) + { ++ int saved_errno = errno; ++ + if (ParentPID != getpid()) { + trace(TRACE_INFO, + "ParentSigHandler(): i'm no longer father"); +@@ -162,6 +170,8 @@ + default: + GeneralStopRequested = 1; + } ++ ++ errno = saved_errno; + } + + |