diff options
author | Oliver Bolte <obo@openoffice.org> | 2005-01-27 11:11:40 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2005-01-27 11:11:40 +0000 |
commit | d7b7e74eaedaa9eb10001356a62fd6d14fb2e413 (patch) | |
tree | ab9ad5d04c862a7ac30da3d8eb42f6c03038b96a /ucb | |
parent | f02f4697516c584295862ca9c011a1f0f1d0df54 (diff) |
INTEGRATION: CWS kso13 (1.18.6); FILE MERGED
2004/12/17 11:08:42 sb 1.18.6.1: #i38313# Replaced the i38298 XJob hack with the proper new XAsyncOutputMonitor.
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/file/filstr.cxx | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/ucb/source/ucp/file/filstr.cxx b/ucb/source/ucp/file/filstr.cxx index 104d75c20165..40879b792473 100644 --- a/ucb/source/ucp/file/filstr.cxx +++ b/ucb/source/ucp/file/filstr.cxx @@ -2,9 +2,9 @@ * * $RCSfile: filstr.cxx,v $ * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * - * last change: $Author: rt $ $Date: 2004-12-07 10:52:36 $ + * last change: $Author: obo $ $Date: 2005-01-27 12:11:40 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -105,7 +105,7 @@ XStream_impl::queryInterface( SAL_STATIC_CAST( io::XOutputStream*,this ), SAL_STATIC_CAST( io::XSeekable*,this ), SAL_STATIC_CAST( io::XTruncate*,this ), - SAL_STATIC_CAST( task::XJob*,this ) ); //HACK see #i38298# + SAL_STATIC_CAST( io::XAsyncOutputMonitor*,this ) ); return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ); } @@ -172,7 +172,7 @@ XTYPEPROVIDER_IMPL_8( XStream_impl, io::XInputStream, io::XOutputStream, io::XTruncate, - task::XJob ) //HACK see #i38298# + io::XAsyncOutputMonitor ) @@ -460,11 +460,12 @@ XStream_impl::flush() uno::RuntimeException ) {} -//HACK see #i38298# -uno::Any XStream_impl::execute(uno::Sequence< beans::NamedValue > const &) - throw ( - lang::IllegalArgumentException, uno::Exception, uno::RuntimeException) +void XStream_impl::waitForCompletion() + throw (io::IOException, uno::RuntimeException) { + // At least on UNIX, to reliably learn about any errors encountered by + // asynchronous NFS write operations, without closing the file directly + // afterwards, there appears to be no cheaper way than to call fsync: if (m_nIsOpen && m_aFile.sync() != osl::FileBase::E_None) { throw io::IOException( rtl::OUString( @@ -472,5 +473,4 @@ uno::Any XStream_impl::execute(uno::Sequence< beans::NamedValue > const &) "could not synchronize file to disc")), static_cast< OWeakObject * >(this)); } - return uno::Any(); } |