repositories
/
deb_libnfs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a3d4446
)
Everytime we use rpc_connect_async() internally, make sure we clear the ->connect_cb...
author
Ronnie Sahlberg
<ronniesahlberg@gmail.com>
Sun, 9 Oct 2011 08:47:07 +0000
(19:47 +1100)
committer
Ronnie Sahlberg
<ronniesahlberg@gmail.com>
Sun, 9 Oct 2011 08:47:07 +0000
(19:47 +1100)
lib/libnfs.c
patch
|
blob
|
blame
|
history
diff --git
a/lib/libnfs.c
b/lib/libnfs.c
index a4b4a62d4f79576aca7b994ac4d25abec93a5be6..a966b02f272fd62fcec84b4318e7937b2b0fe34a 100644
(file)
--- a/
lib/libnfs.c
+++ b/
lib/libnfs.c
@@
-292,6
+292,9
@@
static void nfs_mount_7_cb(struct rpc_context *rpc, int status, void *command_da
struct nfs_cb_data *data = private_data;
struct nfs_context *nfs = data->nfs;
struct nfs_cb_data *data = private_data;
struct nfs_context *nfs = data->nfs;
+ /* Dont want any more callbacks even if the socket is closed */
+ rpc->connect_cb = NULL;
+
if (status == RPC_STATUS_ERROR) {
data->cb(-EFAULT, nfs, command_data, data->private_data);
free_nfs_cb_data(data);
if (status == RPC_STATUS_ERROR) {
data->cb(-EFAULT, nfs, command_data, data->private_data);
free_nfs_cb_data(data);
@@
-385,6
+388,9
@@
static void nfs_mount_4_cb(struct rpc_context *rpc, int status, void *command_da
struct nfs_cb_data *data = private_data;
struct nfs_context *nfs = data->nfs;
struct nfs_cb_data *data = private_data;
struct nfs_context *nfs = data->nfs;
+ /* Dont want any more callbacks even if the socket is closed */
+ rpc->connect_cb = NULL;
+
if (status == RPC_STATUS_ERROR) {
data->cb(-EFAULT, nfs, command_data, data->private_data);
free_nfs_cb_data(data);
if (status == RPC_STATUS_ERROR) {
data->cb(-EFAULT, nfs, command_data, data->private_data);
free_nfs_cb_data(data);
@@
-465,6
+471,9
@@
static void nfs_mount_1_cb(struct rpc_context *rpc, int status, void *command_da
struct nfs_cb_data *data = private_data;
struct nfs_context *nfs = data->nfs;
struct nfs_cb_data *data = private_data;
struct nfs_context *nfs = data->nfs;
+ /* Dont want any more callbacks even if the socket is closed */
+ rpc->connect_cb = NULL;
+
if (status == RPC_STATUS_ERROR) {
data->cb(-EFAULT, nfs, command_data, data->private_data);
free_nfs_cb_data(data);
if (status == RPC_STATUS_ERROR) {
data->cb(-EFAULT, nfs, command_data, data->private_data);
free_nfs_cb_data(data);
@@
-3260,6
+3269,9
@@
static void mount_export_4_cb(struct rpc_context *rpc, int status, void *command
{
struct mount_cb_data *data = private_data;
{
struct mount_cb_data *data = private_data;
+ /* Dont want any more callbacks even if the socket is closed */
+ rpc->connect_cb = NULL;
+
if (status == RPC_STATUS_ERROR) {
data->cb(rpc, -EFAULT, command_data, data->private_data);
free_mount_cb_data(data);
if (status == RPC_STATUS_ERROR) {
data->cb(rpc, -EFAULT, command_data, data->private_data);
free_mount_cb_data(data);
@@
-3336,6
+3348,9
@@
static void mount_export_1_cb(struct rpc_context *rpc, int status, void *command
{
struct mount_cb_data *data = private_data;
{
struct mount_cb_data *data = private_data;
+ /* Dont want any more callbacks even if the socket is closed */
+ rpc->connect_cb = NULL;
+
if (status == RPC_STATUS_ERROR) {
data->cb(rpc, -EFAULT, command_data, data->private_data);
free_mount_cb_data(data);
if (status == RPC_STATUS_ERROR) {
data->cb(rpc, -EFAULT, command_data, data->private_data);
free_mount_cb_data(data);