summaryrefslogtreecommitdiff
path: root/cppu
AgeCommit message (Collapse)AuthorFilesLines
2012-05-23Better fix for ThreadPool/ORequestThread life cycleStephan Bergmann6-205/+207
This is a follow up to d015384e1d98fe77fd59339044f58efb1ab9fb25 "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-18fdo#42865: privatized unique empty string symbol:Michael Stahl2-0/+2
Unfortunately this --enable-dbg-util only problem (caused by _GLIBCXX_DEUBG) resurfaced, perhaps because of new std::string based logging in sal; adapt all map files to export the unique symbol.
2012-05-16Fixed ThreadPool (and dependent ORequestThread) life cycleStephan Bergmann2-9/+19
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-04-29make gbuild the default assumption of build.plBjoern Michaelsen1-1/+0
this removes dmake completely out of the build for migrated modules build.pl now assumes modules to be gbuild, unless there is a prj/dmake file Change-Id: I674a036b182ee13c5ec093e83cb3d38133112d3b
2012-04-26fix OSL_DEBUG_LEVEL > 1 buildCaolán McNamara1-1/+1
2012-04-26Reverted "Leak TypeDescriptor_Init_Impl to avoid problems at exit."Stephan Bergmann1-105/+97
(This reverts commit 0ba6bd3ddc025666a6d4bb0640bf443728b23bd3.) The problems worked-around there are no longer observed by me, so they were hopefully only a temporal problem (the real root cause had never been found back then). If problems start to pop up again, we'll need to have another look at this.
2012-04-25WaE: Clang unused variableCatalin Iacob1-3/+3
2012-04-24WaE: implicit conversion changes signednessTor Lillqvist1-6/+6
2012-04-23doxygen warning fixesLuboš Luňák3-7/+3
2012-04-17remove doxygen warningsNorbert Thiebaud1-22/+22
2012-04-09cppu: use InternalUnoApiMatúš Kukan13-107/+36
2012-04-08LinkTarget.mk: remove gb_LinkTarget_add_package_headersMichael Stahl1-1/+1
2012-04-08gbuild: "use" vs. "add":Michael Stahl10-15/+15
Naming convention for gbuild methods: - "add" is used for stuff that is logically a part of the target (i.e. not registered at the Module, but defined in the target's makefile) - "use" is used for stuff that is logically a different target (i.e. it is registered at the Module, has it's own makefile, may be in a different module than the target)
2012-04-06Replaced equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) with == operatorSzabolcs Dezsi3-67/+23
2012-04-06Replaced equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) with == operatorSzabolcs Dezsi1-2/+2
Pattern used: find . -name "*.cxx" -exec sed -i 's/\( *\)\(else if\|if\) *( *\([^!()|&]*\)\.equalsAsciiL( *RTL_CONSTASCII_STRINGPARAM *( *\([^)]*\)) *) *)$/\1\2 ( \3 == \4 )/' \{\} \;
2012-04-05Do two fairly useless but often emitted OSL_TRACEs only if OSL_DEBUG_LEVEL > 2Tor Lillqvist1-2/+2
2012-03-21More hacking on static linking (iOS) supportTor Lillqvist2-5/+77
2012-03-21Uniquify uno_initEnvironment and uno_ext_getMapping in the static linking caseTor Lillqvist4-6/+29
2012-03-21Use MAX_ALIGNMENT_4 also for iOSTor Lillqvist1-4/+7
2012-03-14Dead codeStephan Bergmann1-12/+0
2012-03-14Enable -Wnon-virtual-dtor for GCC 4.6Stephan Bergmann3-4/+15
...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-10gbuild: get rid of realpath in gb_Foo_set_includeMatúš Kukan10-10/+10
2012-02-27cppu: JobQueue::enter: add mutex guards for m_nToDoMichael Stahl2-6/+9
Considered replacing it with oslInterlockedCount, but wondered why there is no osl_getInterlockedCount (similar to glib's g_atomic_int_get)...
2012-02-23Some doxygen warnings cleanupKorrawit Pruegsanusak1-1/+1
2012-02-21WaE: silence some documentation errorsThomas Arnhold9-18/+18
2012-02-14cleanup: remove remenants of gcc version checkingMichael Meeks1-1/+1
2012-02-10Avoid deadlocks when disposing recursive JobQueue::enterStephan Bergmann1-2/+5
...where the outer JobQueue::enter blocks on m_cndWait after it has been reset again due to m_lstJob.empty().
2012-02-06Added READMEs for modules related to URE, with content from the wikiJosh Heidenreich1-0/+4
2012-02-05switch to include-based build rather than sourced-based buildNorbert Thiebaud1-37/+3
2012-01-26Code cleanup: ( () ) replaced by (())Alexander Bergmann30-456/+456
2012-01-21Removed some unused parameters; added SAL_UNUSED_PARAMETER.Stephan Bergmann10-59/+76
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-19Drop UNO_REF_QUERY[_THROW] duplicates of UNO_QUERY[_THROW].Stephan Bergmann1-20/+13
They are virtually unused (at least the LibO code base has only a single use of UNO_REF_QUERY) but confuse static analysis tools that classify unused function parameters as "tags" (which legalizes the unusedness of those parameters) if they are of an enum type with exactly one value defined.
2012-01-06typo in OSL_DEBUG_LEVEL > 1 codeCaolán McNamara1-1/+1
2012-01-05Switch from autodoc to doxygen for SDK C++ documentation.Stephan Bergmann13-78/+80
* New build prerequisite doxygen (controllable via --with-doxygen). * Adapted various headers to slightly different doxygen documentation syntax, but much clean up still remains to be done (i.e., warnings emitted by doxygen fixed).
2012-01-05Leak TypeDescriptor_Init_Impl to avoid problems at exit.Stephan Bergmann1-98/+106
2012-01-05Explicitly initialize TypeDescriptor_Init_Impl.Stephan Bergmann1-5/+13
2012-01-02Replace dynamic array with std::vector.Stephan Bergmann1-8/+7
2011-12-23OSL_ASSERT -> assertStephan Bergmann1-19/+20
2011-12-19Add symbols from addsym.awk to gbuilified .map files.Stephan Bergmann2-0/+16
2011-12-19get this to build under msvc 2008Caolán McNamara1-8/+8
2011-12-19Prevent creation of new ORequestThreads during shutdown.Stephan Bergmann2-0/+27
2011-12-19Removed superfluous CPPU_DLLPUBLIC from definitions.Stephan Bergmann3-12/+12
2011-12-19-Werror=sign-promo fixesStephan Bergmann2-35/+37
2011-12-19cppu: add visibility symbolsMatúš Kukan29-204/+239
2011-12-19cppu: convert to gbuildMatúš Kukan40-983/+730
Because of unit tests is here custom target where are idl files processed.
2011-12-17Fix for fdo43460 Part X getLength() to isEmpty()Olivier Hallot3-6/+6
Part X Module cppu cppuhelper cpputools
2011-12-11I don't see NO_BSYMBOLIC being used anywhereTor Lillqvist7-7/+0
2011-12-08Less succes, more successStefan Knorr (astron)1-1/+1
2011-12-01-Wstrict-aliasing fixStephan Bergmann1-2/+5
2011-12-01The other uses of pReserved had been changed to nStaticRefCount in 2001.Stephan Bergmann1-1/+1