Module: ngircd.git
Branch: master
Commit: d4632a727fbee65cb1585c6f6e9968d830f23a19
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=d4632a72…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri May 21 23:47:28 2010 +0200
Don't set a penalty time when doing DNS lookups
The logic isn't as described in the source and intended by this code:
ngIRCd doesn't wait for the asynchronous resolver process until the set
penalty time is over, but until the forked process terminates or the
initial connection timeout (= PongTimeout) triggers.
So don't set the penalty time at all and remove the wrong comment.
---
src/ngircd/conn.c | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index dff9336..0d82d53 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -1382,11 +1382,6 @@ New_Connection(int Sock)
Resolve_Addr(&My_Connections[new_sock].proc_stat, &new_addr,
identsock, cb_Read_Resolver_Result);
- /* ngIRCd waits up to 4 seconds for the result of the asynchronous
- * DNS and IDENT resolver subprocess using the "penalty" mechanism.
- * If there are results earlier, the delay is aborted. */
- Conn_SetPenalty(new_sock, 4);
-
Account_Connection();
return new_sock;
} /* New_Connection */
Module: ngircd.git
Branch: master
Commit: 54e67ea9ee6c2b00c43f759edc55b57b969c9e2d
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=54e67ea9…
Author: Alexander Barton <alex(a)barton.de>
Date: Tue May 18 17:38:12 2010 +0200
New "module" proc.c/proc.h for generic process handling
The new "module" proc.c is used for functions dealing with child
processes. At the moment, it is only used by the asynchronous resolver.
All the functions already implemented habe been migrated from the
resolver code base, and the rest of the ngIRCd source code has been
adepted to the new namespace and calling conventions.
The goal is to develop "generic" process handling functions that can
be used for other purposes as well, e.g. running processes on client
connects etc.
---
contrib/MacOSX/ngIRCd.xcodeproj/project.pbxproj | 6 ++
src/ngircd/Makefile.am | 10 +--
src/ngircd/conf.c | 2 +-
src/ngircd/conf.h | 4 +-
src/ngircd/conn.c | 23 +++--
src/ngircd/conn.h | 4 +-
src/ngircd/io.c | 3 +-
src/ngircd/proc.c | 102 +++++++++++++++++++++++
src/ngircd/proc.h | 35 ++++++++
src/ngircd/resolve.c | 99 +++-------------------
src/ngircd/resolve.h | 30 ++-----
11 files changed, 187 insertions(+), 131 deletions(-)
Diff: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commitdiff;h=54e6…