From f5391def6b36f553f71edf7b414cfc3abf32290f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 31 Oct 2013 11:15:21 +0100 Subject: [PATCH] Don't cleanup in owncloud's vio_module_shutdown All the cleanup is done in owncloud_commit which should necessarily be called. Should fix https://github.com/owncloud/mirall/issues/713 The problem was that csync_destroy was called on another csync instance in another thread, resulting in a crash Yes, there is still a problem with the proxy settings. --- modules/csync_owncloud.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/modules/csync_owncloud.c b/modules/csync_owncloud.c index 8fb672cb56..bfd531b324 100644 --- a/modules/csync_owncloud.c +++ b/modules/csync_owncloud.c @@ -1084,6 +1084,16 @@ static int owncloud_commit() { ne_sock_exit(); _connected = 0; /* triggers dav_connect to go through the whole neon setup */ + SAFE_FREE( dav_session.user ); + SAFE_FREE( dav_session.pwd ); + SAFE_FREE( dav_session.session_key); + SAFE_FREE( dav_session.error_string ); + + SAFE_FREE( dav_session.proxy_type ); + SAFE_FREE( dav_session.proxy_host ); + SAFE_FREE( dav_session.proxy_user ); + SAFE_FREE( dav_session.proxy_pwd ); + return 0; } @@ -1206,18 +1216,6 @@ csync_vio_method_t *vio_module_init(const char *method_name, const char *args, void vio_module_shutdown(csync_vio_method_t *method) { (void) method; - owncloud_commit(); - - SAFE_FREE( dav_session.user ); - SAFE_FREE( dav_session.pwd ); - - SAFE_FREE( dav_session.proxy_type ); - SAFE_FREE( dav_session.proxy_host ); - SAFE_FREE( dav_session.proxy_user ); - SAFE_FREE( dav_session.proxy_pwd ); - SAFE_FREE( dav_session.session_key); - SAFE_FREE( dav_session.error_string ); - /* DEBUG_WEBDAV( "********** vio_module_shutdown" ); */ }