aboutsummaryrefslogtreecommitdiff
path: root/sshfs.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2011-03-25 13:38:39 +0100
committerMiklos Szeredi <mszeredi@suse.cz>2011-03-25 13:38:39 +0100
commiteac5268e87a9ffeefaa5edcd40392e14cd5aa1e3 (patch)
tree2cf597f4cfd9ff2dc1584a23444a055caa49517c /sshfs.c
parent6d5e12e1b6abc2f07af547478f2497e06df988b1 (diff)
downloadsshfs-eac5268e87a9ffeefaa5edcd40392e14cd5aa1e3.tar
sshfs-eac5268e87a9ffeefaa5edcd40392e14cd5aa1e3.tar.gz
sshfs-eac5268e87a9ffeefaa5edcd40392e14cd5aa1e3.tar.bz2
sshfs-eac5268e87a9ffeefaa5edcd40392e14cd5aa1e3.zip
Fix possible deadlock on reconnection
Reported by Florian Zumbiehl
Diffstat (limited to 'sshfs.c')
-rw-r--r--sshfs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sshfs.c b/sshfs.c
index 81ee64a..739dbe3 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -1319,6 +1319,8 @@ static void *process_requests(void *data_)
close_conn();
g_hash_table_foreach_remove(sshfs.reqtab, (GHRFunc) clean_req, NULL);
sshfs.connver ++;
+ sshfs.outstanding_len = 0;
+ pthread_cond_broadcast(&sshfs.outstanding_cond);
pthread_mutex_unlock(&sshfs.lock);
if (!sshfs.reconnect) {