Commit Graph

129 Commits

Author SHA1 Message Date
Stephan Bergmann
1fc7a1d532 cid#1254675 Uncaught exception
just throw up hands in despair via std::abort instead of std::runtime_error

Change-Id: I356932ed2d76558bb4febbd2ac0a7bb6ea27bd0f
2014-11-17 11:57:43 +01:00
Stephan Bergmann
b021fdfab3 cid#983623 Don't throw DisposedException past uno_threadpool_putJob
This improves on b68640c44e "Prevent creation of
new ORequestThreads during shutdown," which added throwing the DisposedException
from ThreadAdmin::add.  But ThreadAdmin::m_disposed can only become true via
uno_threadpool_destroy -> ThreadPool::joinWorkers -> ThreadAdmin::join, and
ThreadAdmin::add observing that can only happen via uno_threadpool_putJob ->
ThreadPool::addJob -> ThreadPool::createThread -> ORequestThread::launch ->
ThradAdmin::add, where the bridges should ensure that uno_threadpool_destroy
does not run in parallel with uno_threadpool_putJob.  So demote this from a
DisposedException to a SAL_WARN.

Change-Id: I3912ea077b7fa35827c41e82dd0a8f962ba412b6
2014-11-14 16:19:40 +01:00
Noel Grandin
0371a63365 remove unnecessary 'using namespace rtl' declarations
It turns out that almost none of them were necessary.

Change-Id: I1311ed28409c682b57ea8d149bcbaf2c49133e83
Reviewed-on: https://gerrit.libreoffice.org/12133
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2014-10-29 11:28:54 +00:00
Noel Grandin
9685276b97 cppu and cppuhelper: loplugin: cstylecast
Add a macro in include/cppuhelper/implbase_ex.hxx
to make initialising the type_entry classes a little less verbose.

Change-Id: I0904b5b9db269c92bc89e7ce3d6c8b09350c9897
2014-09-17 07:08:23 +02:00
Michael Stahl
57a4337e25 set names on a bunch more threads...
Change-Id: I4c2f2f0bcce52839033876ec991529721e06a3c8
2014-08-25 13:21:59 +02:00
Michael Stahl
b70fb7d704 everything is independent from vos these days...
Change-Id: Iccb94dcc31d6de8c9e4e7a31b3c2e36d4198b295
2014-08-25 13:21:55 +02:00
Noel Grandin
41e3515978 cppu: remove SAL_THROW macro
Change-Id: I2f1909f953846f0d0b6fb402b4beb373bba8b2a8
2014-06-05 08:17:49 +02:00
Noel Grandin
e7bc3cab01 remove boilerplate in UNO Exception constructor calls
Now that we have default values for Exception constructor params,
remove lots of boilerplate code.

Change-Id: I620bd641eecfed38e6123873b3b94aaf47922e74
2014-05-23 15:06:00 +02:00
Thomas Arnhold
2d4590ae56 oox: drop using from header
Change-Id: Ie353c561ccdcfb3c198ff05943f0ea64a3626735
2014-05-19 20:04:23 +02:00
Caolán McNamara
99c5f4c1c2 coverity#707713 Uninitialized pointer field
Change-Id: I4c51287f20d070fe3227adb5a1909c9539938f27
2014-05-11 11:52:32 +01:00
Thomas Arnhold
ed81c7fb25 fixincludeguards.sh: cppu 2014-04-19 11:10:06 +02:00
Stephan Bergmann
362d4f0cd4 Explicitly mark overriding destructors as "virtual"
It appears that the C++ standard allows overriding destructors to be marked
"override," but at least some MSVC versions complain about it, so at least make
sure such destructors are explicitly marked "virtual."

Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
2014-04-01 19:22:54 +02:00
Stephan Bergmann
70cc2b191b First batch of adding SAL_OVERRRIDE to overriding function declarations
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.

Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-26 16:39:26 +01:00
Alexander Wilms
f480f26e61 Remove visual noise from cppu
Change-Id: Ib776a6e5397eb9731cf908c4015642c29b320ff6
Reviewed-on: https://gerrit.libreoffice.org/8247
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-27 06:12:56 -06:00
Alexander Wilms
0ce0c369aa Remove unneccessary comments
Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb
Reviewed-on: https://gerrit.libreoffice.org/8182
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-23 03:38:49 +00:00
Stephan Bergmann
34a44156b3 cppu: sal_Bool -> bool
Change-Id: I1288f1f6f38d1475b4eb5272509e479bd9f2552d
2014-02-17 17:55:18 +01:00
Stephan Bergmann
65191cda81 bool improvements
Change-Id: I757e19313576d2c3d13af1cb720f182f0de91613
2014-01-27 10:47:32 +01:00
Stephan Bergmann
a83b2af9ab Clean-up uno/lbnames.h
Change-Id: I4bd729499aa8be58f04194656e35c1f79d5d4919
2013-12-16 21:43:12 +01:00
Thomas Arnhold
8fc6905674 fdo#68849 add some header guards
Change-Id: I9d25a58f22095689eccc0ac444c163d1e9bee69f
Reviewed-on: https://gerrit.libreoffice.org/6364
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-10-21 09:15:59 +00:00
Stephan Bergmann
2618ff4734 UNO interface UIKs are unused for a very long time
...so mark them as @deprecated more thoroughly and always force them to zero.

Change-Id: I5db2dab924fc5a4145a0e5dd055b654985ce2ef9
2013-09-04 14:37:54 +02:00
Stephan Bergmann
19277d02fb osl_getThreadIdentifier(0) -> osl::Thread::getCurrentIdentifier()
Change-Id: Ida9785c4b9fda0459769957734952e69d7a9de44
2013-08-21 14:19:10 +02:00
Luboš Luňák
e2e2cc6114 remove usage of RTL_CONSTASCII_USTRINGPARAM
Mechanical removal of usage together with OUString ctor, done
by compiler plugin.

Change-Id: I554227f76df0dac620b1b46fca32516f78b462c5
2013-05-06 16:51:45 +02:00
Thomas Arnhold
39d45390f4 removal of RTL_CONSTASCII_USTRINGPARAM for quoted OUStrings declarations
s/(OUString\s+[a-zA-Z_][A-Za-z0-9_]*\s*)\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/$1\($2\)/gms

Change-Id: Iad20f242c80c4bdc69df17e2d7a69d58ea53654b
Reviewed-on: https://gerrit.libreoffice.org/2835
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-03-19 10:48:30 +00:00
Takeshi Abe
ce33f85ffd sal_Bool to bool
Change-Id: I8c554fb3faead41c974af9c2a89728bd0bdf5eb6
2013-03-04 23:14:41 +09:00
Thorsten Behrens
66a175834c c++ API: use css alias in generated headers, adds global css decl
This changes all generated API headers (.hpp and .hdl) to use a
namespace alias 'css' instead of the pointlessly long com::sun::star

Makes the change in cppumaker & associated tools, adds a global
namespace alias definition in sal/types.h, and removes a kiloton
of local, now pointless-to-harmful versions of that alias from all
over the code.

Change-Id: Ice5a644a6b971a981f01dc0589d48f5add31cc0f
2012-11-30 14:36:36 +01:00
Michael Meeks
c3a6a57fc2 re-base on ALv2 code. 2012-06-13 14:18:29 +01:00
Stephan Bergmann
2fa2660b55 Better fix for ThreadPool/ORequestThread life cycle
This is a follow up to d015384e1d "Fixed
ThreadPool (and dependent ORequestThread) life cycle" that still had some
problems:

* First, if Bridge::terminate was first entered from the reader or writer
thread, it would not join on that thread, so that thread could still be running
during exit.

That has been addressed by giving Bridge::dispose new semantics:  It waits until
both Bridge::terminate has completed (even if that was called from a different
thread) and all spawned threads (reader, writer, ORequestThread workers) have
been joined.  (This implies that Bridge::dispose must not be called from such a
thread, to avoid deadlock.)

* Second, if Bridge::terminate was first entered from an ORequestThread, the
call to uno_threadpool_dispose(0) to join on all such worker threads could
deadlock.

That has been addressed by making the last call to uno_threadpool_destroy wait
to join on all worker threads, and by calling uno_threadpool_destroy only from
the final Bridge::terminate (from Bridge::dispose), to avoid deadlock.  (The
special semantics of uno_threadpool_dispose(0) are no longer needed and have
been removed, as they conflicted with the fix for the third problem below.)

* Third, once uno_threadpool_destroy had called uno_threadpool_dispose(0), the
ThreadAdmin singleton had been disposed, so no new remote bridges could
successfully be created afterwards.

That has been addressed by making ThreadAdmin a member of ThreadPool, and making
(only) those uno_ThreadPool handles with overlapping life spans share one
ThreadPool instance (which thus is no longer a singleton, either).
Additionally, ORequestThread has been made more robust (in the style of
salhelper::Thread) to avoid races.

Change-Id: I2cbd1b3f9aecc1bf4649e482d2c22b33b471788f
2012-05-23 10:10:51 +02:00
Stephan Bergmann
d015384e1d Fixed ThreadPool (and dependent ORequestThread) life cycle
At least with sw_complex test under load, it happened that an ORequestThread
could still process a remote release request while the main thread was already
in exit(3).  This was because (a) ThreadPool never joined with the spawned
worker threads (which has been rectified by calling uno_threadpool_dispose(0)
from the final uno_threadpool_destroy), and (b) binaryurp::Bridge called
uno_threadpool_destroy only from its destructor (which could go as late as
exit(3)) instead of from terminate.

Additional clean up:
* Access to Bridge's threadPool_ is now cleanly controlled by mutex_ (even
  though that might not be necessary in every case).
* ThreadPool's stopDisposing got renamed to destroy, to make meaning clearer.

Change-Id: I45fa76e80e790a11065e7bf8ac9d92af2e62f262
2012-05-16 22:09:21 +02:00
Stephan Bergmann
ba6714d34f Dead code 2012-03-14 15:23:22 +01:00
Stephan Bergmann
6e67c03dc0 Enable -Wnon-virtual-dtor for GCC 4.6
...which has the necessary features to support it.

Change a lot of classes to either contain a protected non-virtual dtor
(which is backwards compatible, so even works for cppumaker-generated
UNO headers) or a public virtual one.

cppuhelper/propertysetmixin.hxx still needs to disable the warning, as
the relevant class has a non-virtual dtor but friends, which would still
cause GCC to warn.

Includes a patch for libcmis, intended to be upstreamed.
2012-03-14 13:32:02 +01:00
Michael Stahl
a860cd108c cppu: JobQueue::enter: add mutex guards for m_nToDo
Considered replacing it with oslInterlockedCount, but wondered why there is
no osl_getInterlockedCount (similar to glib's g_atomic_int_get)...
2012-02-27 20:53:20 +01:00
Stephan Bergmann
cba3ac1eab Avoid deadlocks when disposing recursive JobQueue::enter
...where the outer JobQueue::enter blocks on m_cndWait after it has been reset
again due to m_lstJob.empty().
2012-02-10 16:26:00 +01:00
Alexander Bergmann
0439af27e1 Code cleanup: ( () ) replaced by (()) 2012-01-26 17:41:07 +00:00
Stephan Bergmann
7c704c78d3 Removed some unused parameters; added SAL_UNUSED_PARAMETER.
SAL_UNUSED_PARAMETER (expanding to __attribute__ ((unused)) for GCC)
is used to annotate legitimately unused parameters, so that static
analysis tools can tell legitimately unused parameters from truly
unnecessary ones.  To that end, some patches for external modules
are also added, that are only applied when compiling with GCC and
add necessary __attribute__ ((unused)) in headers.
2012-01-21 15:21:16 +01:00
Stephan Bergmann
b68640c44e Prevent creation of new ORequestThreads during shutdown. 2011-12-19 16:08:20 +01:00
Stephan Bergmann
2af1a97346 Removed superfluous CPPU_DLLPUBLIC from definitions. 2011-12-19 11:33:13 +01:00
Matúš Kukan
d899f976ee cppu: add visibility symbols 2011-12-19 10:14:52 +01:00
Matúš Kukan
051fdda153 cppu: convert to gbuild
Because of unit tests is here custom target where are idl files
processed.
2011-12-19 10:14:51 +01:00
Stefan Knorr (astron)
ad2eb6c4ba Less succes, more success 2011-12-08 09:06:09 +01:00
Stephan Bergmann
beebf578ed -Wstrict-aliasing fix 2011-12-01 21:24:50 +01:00
Norbert Thiebaud
24b4c075d5 remove include of pch header in cppu 2011-11-27 13:02:56 -06:00
Jan Holesovsky
a3a19632f4 Merge remote-tracking branch 'origin/integration/dev300_m101'
Conflicts:
	bridges/source/remote/urp/urp_environment.cxx
	bridges/source/remote/urp/urp_propertyobject.cxx
	bridges/source/remote/urp/urp_reader.cxx
	remotebridges/source/factory/bridgefactory.cxx
	stoc/source/corereflection/crefl.cxx
	stoc/source/javavm/javavm.cxx
	stoc/source/simpleregistry/simpleregistry.cxx
2011-03-18 15:58:02 +01:00
Tor Lillqvist
b6e36a7fa9 Use explicitly cast zeros to avoid compilation error with MSVC2010
Could also use nullptr, is it supported by all compiler versions we use?
2011-03-14 12:20:35 +02:00
Norbert Thiebaud
d7fc91fcd1 Merge commit 'ooo/DEV300_m101' into integration/dev300_m101
* commit 'ooo/DEV300_m101': (185 commits)
  chart52: cleanup unused legend entry stuff in preparation of issue #i82802#
  masterfix: #i10000# add missing dependency in offapi
  sb138: #i115619# fix for MinGW
  sb138: #i115619#, #i116038# use osl_setThreadName in binaryurp
  sb138: #i115619# osl_setThreadName
  gridsort: i116682: update UnoControlDialog to reflect XDialog
  gridsort: minor changes to the new API: - renamed XMutableGridDataModel::setRowHeading to updateRowHeading for consistency reasons - renamed XSortableGridDataModel to XSortableGridData - actually, this is not a full-fledged model in itself.
  gridsort: grid control related unit tests (first set, more to come)
  sb138: #i116038# fresh implementation of binary URP bridge
  chart52: #28670# make the legend within charts resizeable - part 2
  gridsort: re-did the column resizing - introduced XGridColumn.Flexibility, determining to which degree the column is resized during auto-column-resizing - removed XGridColumn.PreferredWidth - there really is no need for this anymore now - documented the relationship between XGridColumn.Flexibility and XGridColumn.Resizeable - re-implemented TableControl_Impl::impl_ni_updateColumnWidths, with (hopefully) less magic
  sb139: #i116530# improve Java URP bridge error notification by utilizing the java.lang.Throwable cause facility
  gridsort: document the relationship between soorting the data and notifying XGridDataListeners
  gridsort: introduce XGridColumn::DataModelIndex. this allows for column removal/insertion at the GridColumnModel, without the need to touch the GridDataModel
  locales34: #i112431# adapt documentation to reality
  gridsort: introduce XSortableGridDataModel::removeColumnSort
  gridsort: #163172# added UNO API support for sorting grid data. Implementation still unfinished. Things missing in the SortableGridData implementation - add as listener to the delegator, so we're notified of changes - translate and multiplex those changes - do own notifications (XGridDataListener.dataChanged) when the sort order changed - (possibly) update the sort order when the data in the current sort-column changed
  gridsort: made the row title a row heading, being an Any instead of a string
  gridsort: XMutableGridData: renamed updateRow to updateRowData for consistency; introduced updateRowToolTip as shortcut for multiple updateCellToolTip calls
  gridsort: updateCell->updateCellData, setCellToolTip->updateCellToolTip; in both methods, have (Col,Row) params instead of (Row,Col), for consistency reasons
  ...

Conflicts:
	bridges/inc/bridges/remote/bridgeimpl.hxx
	bridges/inc/bridges/remote/connection.h
	bridges/inc/bridges/remote/context.h
	bridges/inc/bridges/remote/helper.hxx
	bridges/inc/bridges/remote/mapping.hxx
	bridges/inc/bridges/remote/proxy.hxx
	bridges/inc/bridges/remote/remote.h
	bridges/inc/bridges/remote/remote.hxx
	bridges/inc/bridges/remote/stub.hxx
	bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
	bridges/source/remote/context/context.cxx
	bridges/source/remote/static/helper.cxx
	bridges/source/remote/static/mapping.cxx
	bridges/source/remote/static/proxy.cxx
	bridges/source/remote/static/remote.cxx
	bridges/source/remote/static/remote_types.cxx
	bridges/source/remote/static/remote_types.hxx
	bridges/source/remote/static/stub.cxx
	bridges/source/remote/urp/urp_bridgeimpl.cxx
	bridges/source/remote/urp/urp_bridgeimpl.hxx
	bridges/source/remote/urp/urp_cache.h
	bridges/source/remote/urp/urp_cache.hxx
	bridges/source/remote/urp/urp_dispatch.cxx
	bridges/source/remote/urp/urp_dispatch.hxx
	bridges/source/remote/urp/urp_environment.cxx
	bridges/source/remote/urp/urp_job.cxx
	bridges/source/remote/urp/urp_job.hxx
	bridges/source/remote/urp/urp_log.cxx
	bridges/source/remote/urp/urp_log.hxx
	bridges/source/remote/urp/urp_marshal.cxx
	bridges/source/remote/urp/urp_marshal.hxx
	bridges/source/remote/urp/urp_marshal_decl.hxx
	bridges/source/remote/urp/urp_property.hxx
	bridges/source/remote/urp/urp_propertyobject.cxx
	bridges/source/remote/urp/urp_propertyobject.hxx
	bridges/source/remote/urp/urp_reader.cxx
	bridges/source/remote/urp/urp_reader.hxx
	bridges/source/remote/urp/urp_replycontainer.hxx
	bridges/source/remote/urp/urp_threadid.cxx
	bridges/source/remote/urp/urp_threadid.hxx
	bridges/source/remote/urp/urp_unmarshal.cxx
	bridges/source/remote/urp/urp_unmarshal.hxx
	bridges/source/remote/urp/urp_writer.cxx
	bridges/source/remote/urp/urp_writer.hxx
	cppu/source/threadpool/threadpool.cxx
	cppu/util/target.pmk
	cppuhelper/qa/propertysetmixin/comp_propertysetmixin.cxx
	cppuhelper/source/interfacecontainer.cxx
	cpputools/source/regcomplazy/regcomplazy.cxx
	jurt/prj/d.lst
	jvmfwk/source/elements.cxx
	offapi/com/sun/star/awt/grid/GridDataEvent.idl
	offapi/com/sun/star/awt/grid/XGridColumn.idl
	offapi/com/sun/star/awt/tab/makefile.mk
	offapi/com/sun/star/chart2/ExplicitIncrementData.idl
	offapi/com/sun/star/chart2/XPlotter.idl
	offapi/com/sun/star/chart2/XUndoHelper.idl
	offapi/com/sun/star/document/MediaDescriptor.idl
	offapi/com/sun/star/document/makefile.mk
	offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
	offapi/com/sun/star/script/ModuleInfo.idl
	offapi/com/sun/star/script/ModuleType.idl
	offapi/com/sun/star/text/TextMarkupType.idl
	offapi/com/sun/star/util/XTextSearch.idl
	offapi/com/sun/star/xml/sax/XFastAttributeList.idl
	pyuno/source/loader/makefile.mk
	remotebridges/source/bridge/bridge_connection.cxx
	remotebridges/source/bridge/bridge_connection.hxx
	remotebridges/source/bridge/bridge_provider.cxx
	remotebridges/source/bridge/remote_bridge.cxx
	remotebridges/source/bridge/remote_bridge.hxx
	remotebridges/source/dynamicloader/dynamicloader.cxx
	remotebridges/source/factory/bridgefactory.cxx
	remotebridges/source/factory/bridgeimpl.cxx
	remotebridges/source/factory/bridgeimpl.hxx
	remotebridges/source/factory/makefile.mk
	sal/cppunittester/cppunittester.cxx
	sal/inc/osl/diagnose.h
	sal/osl/os2/system.h
	sal/osl/unx/diagnose.c
	sal/osl/unx/file_misc.cxx
	sal/osl/unx/process_impl.cxx
	sal/osl/w32/diagnose.c
	sal/osl/w32/process.cxx
	sal/prj/build.lst
	sal/qa/rtl/math/makefile.mk
	sal/qa/rtl/math/rtl_math.cxx
	sal/qa/rtl/math/rtl_old_testint64.cxx
	sal/qa/rtl/math/test_rtl_math.cxx
	sal/systools/win32/kill/kill.cxx
	sal/textenc/tencinfo.c
	sal/util/sal.map
	stoc/source/inspect/introspection.cxx
	stoc/source/security/file_policy.cxx
	stoc/source/simpleregistry/simpleregistry.cxx
2011-03-08 22:29:39 -06:00
Fridrich Strba
4724f82bf2 move module cppu to boost unordered containers 2011-02-03 23:39:38 +01:00
Julien Nabet
6ca25e8192 Some cppcheck cleaning 2011-01-12 13:12:22 +00:00
sb
2a3ed89284 sb132: #i112448# proper clean up in JobQueue::enter (patch by olistraub) 2010-10-25 15:37:14 +02:00
Sebastian Spaeth
a715e1b3d0 Add vim/emacs modelines to all source files
Fixes #fdo30794
Based on bin/add-modelines script (originally posted in mail
1286706307.1871.1399280959@webmail.messagingengine.com)

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-10-14 17:04:31 +02:00
Caolán McNamara
521a9f6f76 #i107490# cppu lifecycle cleanup 2010-10-11 12:37:08 +01:00
sb
648603aa7c sb126: #i107490# cppu lifecycle cleanup (patch by cmc, plus removal of now obsolete CPPU_LEAK_STATIC_DATA) 2010-07-07 13:03:20 +02:00