diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-03-01 16:13:26 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-03-01 17:17:44 +0100 |
commit | 260afe56fd6b2f34de8290f3cdb7d1df5b88f8a8 (patch) | |
tree | 030ec1b81cae70d2ad48e6328d46870014a8b396 /ucb | |
parent | 331dd1e80616030f824a91a2358857485a798e29 (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')
-rw-r--r-- | ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx | 6 | ||||
-rw-r--r-- | ucb/source/ucp/webdav-neon/NeonSession.cxx | 6 |
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"); } // ------------------------------------------------------------------- |