From 260afe56fd6b2f34de8290f3cdb7d1df5b88f8a8 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Fri, 1 Mar 2013 16:13:26 +0100 Subject: neon commands cannot be aborted See "Re: About ne_set_read_timeout" for why ne_close_connection is not a solution here (and currently would not work anyway, for the thread calling abort would block on the aGlobalNeonMutex introduced with 510da29131e56ba0e1783e505e7131e6f7e0d6b4 "forced to make certain neon api calls thread-safe due to cups" until the blocking thread was done with its neon call) and "a new, dedicated, thread-safe ne_session_* API call will be needed to allow aborting of a running request." So enable DAVResourceAccess::abort again and instead disable the underlying NeonSession::abort. i#106766 "Crash when cancelling extension update" does not give any good rationale why DAVResourceAccess::abort had to be disabled, so it might well have been because the underlying NeonSession::abort was bogus to begin with. Change-Id: If8293b93a960907726208bb2f93c375d83357ed3 --- ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx | 6 ++---- ucb/source/ucp/webdav-neon/NeonSession.cxx | 6 +----- 2 files changed, 3 insertions(+), 9 deletions(-) (limited to 'ucb/source/ucp/webdav-neon') diff --git a/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx b/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx index 96fdd68d10af..61f4969308d0 100644 --- a/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx +++ b/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx @@ -553,10 +553,8 @@ void DAVResourceAccess::GET( void DAVResourceAccess::abort() throw( DAVException ) { - // 17.11.09 (tkr): abort currently disabled caused by issue i106766 - // initialize(); - // m_xSession->abort(); - OSL_TRACE( "Not implemented. -> #i106766#" ); + initialize(); + m_xSession->abort(); } //========================================================================= diff --git a/ucb/source/ucp/webdav-neon/NeonSession.cxx b/ucb/source/ucp/webdav-neon/NeonSession.cxx index 5dbbefd707df..2ff06aec7854 100644 --- a/ucb/source/ucp/webdav-neon/NeonSession.cxx +++ b/ucb/source/ucp/webdav-neon/NeonSession.cxx @@ -1657,11 +1657,7 @@ bool NeonSession::UNLOCK( NeonLock * pLock ) void NeonSession::abort() throw ( DAVException ) { - if ( m_pHttpSession ) - { - osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex ); - ne_close_connection( m_pHttpSession ); - } + SAL_INFO("ucb.ucp.webdav", "neon commands cannot be aborted"); } // ------------------------------------------------------------------- -- cgit v1.2.3