aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Howard <lukeh@padl.com>2008-11-25 19:42:59 +0000
committerLuke Howard <lukeh@padl.com>2008-11-25 19:42:59 +0000
commit1dd9d32e1e17cd0afce83b3787f759fb73478164 (patch)
treed3049b98b35314ee8f094796bcc1ca0340af9941
parentcdfb28578b15c7beb24c962d698ad4119baf61c8 (diff)
downloadkrb5-1dd9d32e1e17cd0afce83b3787f759fb73478164.zip
krb5-1dd9d32e1e17cd0afce83b3787f759fb73478164.tar.gz
krb5-1dd9d32e1e17cd0afce83b3787f759fb73478164.tar.bz2
avoid double close for RPC descriptors
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/mskrb-integ@21194 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/kadmin/server/network.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/kadmin/server/network.c b/src/kadmin/server/network.c
index f7e7d24..63ddd2e 100644
--- a/src/kadmin/server/network.c
+++ b/src/kadmin/server/network.c
@@ -1557,7 +1557,10 @@ kill_tcp_or_rpc_connection(void *handle, struct connection *conn, int isForcedCl
)
sstate.max--;
- close(conn->fd);
+ /* In the non-forced case, the RPC runtime will close the descriptor for us */
+ if (conn->type == CONN_TCP || isForcedClose) {
+ close(conn->fd);
+ }
/* For RPC connections, call into RPC runtime to flush out any internal state */
if (conn->type == CONN_RPC && isForcedClose) {