summaryrefslogtreecommitdiffstats
path: root/utils/gssd/gssd.c
diff options
context:
space:
mode:
authorDavid Hardeman <david@hardeman.nu>2015-01-21 16:53:18 -0500
committerSteve Dickson <steved@redhat.com>2015-01-23 14:19:09 -0500
commita5568bb1475530ebaf355e601bb7583b0b3b0901 (patch)
treed60b8d2e1107b950b8da7647cd5b50d1094f5727 /utils/gssd/gssd.c
parent509f274347f94a5e52f17bf511d2c011b791114b (diff)
downloadnfs-utils-a5568bb1475530ebaf355e601bb7583b0b3b0901.tar.gz
nfs-utils-a5568bb1475530ebaf355e601bb7583b0b3b0901.tar.xz
nfs-utils-a5568bb1475530ebaf355e601bb7583b0b3b0901.zip
gssd - remove "close me" code
This code is mostly just confusing. Close the fds immediately instead of doing so later. Signed-off-by: David Hardeman <david@hardeman.nu> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/gssd/gssd.c')
-rw-r--r--utils/gssd/gssd.c26
1 files changed, 8 insertions, 18 deletions
diff --git a/utils/gssd/gssd.c b/utils/gssd/gssd.c
index 632d1a1..2187562 100644
--- a/utils/gssd/gssd.c
+++ b/utils/gssd/gssd.c
@@ -366,7 +366,10 @@ gssd_clnt_gssd_cb(int UNUSED(fd), short which, void *data)
struct clnt_info *clp = data;
if (which != EV_READ) {
- clp->gssd_close_me = true;
+ printerr(2, "Closing 'gssd' pipe for %s\n", clp->dirname);
+ close(clp->gssd_fd);
+ clp->gssd_fd = -1;
+ event_del(&clp->gssd_ev);
gssd_update_clients();
return;
}
@@ -380,7 +383,10 @@ gssd_clnt_krb5_cb(int UNUSED(fd), short which, void *data)
struct clnt_info *clp = data;
if (which != EV_READ) {
- clp->krb5_close_me = true;
+ printerr(2, "Closing 'krb5' pipe for %s\n", clp->dirname);
+ close(clp->krb5_fd);
+ clp->krb5_fd = -1;
+ event_del(&clp->krb5_ev);
gssd_update_clients();
return;
}
@@ -396,22 +402,6 @@ process_clnt_dir_files(struct clnt_info * clp)
bool gssd_was_closed;
bool krb5_was_closed;
- if (clp->gssd_close_me) {
- printerr(2, "Closing 'gssd' pipe for %s\n", clp->dirname);
- close(clp->gssd_fd);
- event_del(&clp->gssd_ev);
- clp->gssd_fd = -1;
- clp->gssd_close_me = false;
- }
-
- if (clp->krb5_close_me) {
- printerr(2, "Closing 'krb5' pipe for %s\n", clp->dirname);
- close(clp->krb5_fd);
- event_del(&clp->krb5_ev);
- clp->krb5_fd = -1;
- clp->krb5_close_me = false;
- }
-
gssd_was_closed = clp->gssd_fd < 0 ? true : false;
krb5_was_closed = clp->krb5_fd < 0 ? true : false;