summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/webdav-neon
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-03-01 16:13:26 +0100
committerStephan Bergmann <sbergman@redhat.com>2013-03-01 17:17:44 +0100
commit260afe56fd6b2f34de8290f3cdb7d1df5b88f8a8 (patch)
tree030ec1b81cae70d2ad48e6328d46870014a8b396 /ucb/source/ucp/webdav-neon
parent331dd1e80616030f824a91a2358857485a798e29 (diff)
neon commands cannot be aborted
See <http://lists.manyfish.co.uk/pipermail/neon/2013-February/001533.html> "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
Diffstat (limited to 'ucb/source/ucp/webdav-neon')
-rw-r--r--ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx6
-rw-r--r--ucb/source/ucp/webdav-neon/NeonSession.cxx6
2 files changed, 3 insertions, 9 deletions
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");
}
// -------------------------------------------------------------------