2008-08-05 18:13:45

by Chuck Lever III

[permalink] [raw]
Subject: [PATCH 3/8] showmount: destroy RPC client when finished

Clean up: call clnt_destroy() in the showmount command as needed to
destroy the RPC client properly (and close the associated socket) before
the program exits.

Signed-off-by: Chuck Lever <[email protected]>
---

utils/showmount/showmount.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/utils/showmount/showmount.c b/utils/showmount/showmount.c
index 213a573..b6cea92 100644
--- a/utils/showmount/showmount.c
+++ b/utils/showmount/showmount.c
@@ -393,6 +393,7 @@ int main(int argc, char **argv)
total_timeout);
if (clnt_stat != RPC_SUCCESS) {
clnt_perror(mclient, "rpc mount export");
+ clnt_destroy(mclient);
exit(1);
}
if (headers)
@@ -416,6 +417,7 @@ int main(int argc, char **argv)
printf("\n");
exportlist = exportlist->ex_next;
}
+ clnt_destroy(mclient);
exit(0);
}

@@ -426,8 +428,10 @@ int main(int argc, char **argv)
total_timeout);
if (clnt_stat != RPC_SUCCESS) {
clnt_perror(mclient, "rpc mount dump");
+ clnt_destroy(mclient);
exit(1);
}
+ clnt_destroy(mclient);

n = 0;
for (list = dumplist; list; list = list->ml_next)
@@ -481,4 +485,3 @@ int main(int argc, char **argv)
}
exit(0);
}
-