summaryrefslogtreecommitdiff
path: root/sal
AgeCommit message (Collapse)Author
2015-10-14Resolves: #i126586# FreeBSD automation deadlock: osl_closeSocket()...Damjan Jovanovic
doesn't wake up thread stuck in accept(). Generalize the "#if defined(LINUX)" workarounds to the *BSDs. (cherry picked from commit 4c7bfe32168912844a50059b2a901f6434c0f86f) Change-Id: I1649f6d1a63ae2daf8e6ff650d8af6ea89a6d449
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12cppcheck:variableScopeNoel Grandin
Change-Id: I037feb335499629300309851dcda3bb661f03d4f Reviewed-on: https://gerrit.libreoffice.org/19316 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-11tdf#94888: Accessing Sharepoint r/o share through UNC path does not workGiuseppe Castagno
Added a Windows API missing error. The error added: ERROR_CANT_ACCESS_FILE returned when a file cannot be accessed by the system. Mapped to existent osl_File_E_.... for compatibility. Change-Id: Ia68cdf761a62db8960b143a69ccfa3e12fc6eac5 Reviewed-on: https://gerrit.libreoffice.org/19270 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-11move extracting assets to Java & use AssetManager to access assetsChristian Lohmaier
using AssetsManager in both java as well as native parts allows to handle files both with and without compression transparently Change-Id: If02f1159c498be7ea965fd9c217410722f2dca1f
2015-10-07clang-analyzer-deadcode.DeadStoresStephan Bergmann
Change-Id: Ia4444a059ed2b5349c39d87d60fd9875d0ab36f8
2015-10-06pthread_mutex_lock/unlock must not be called with null argumentStephan Bergmann
...so these OSL_PRECOND should really be assert Change-Id: I61ebd16e14be81c579cd71f3cd6cd68afb95778d
2015-10-05use modern castsCaolán McNamara
Change-Id: If8f01fa8619097c8ea13f09302117308937e0340 Reviewed-on: https://gerrit.libreoffice.org/19150 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-10-05Emscripten: First steps of porting to EmscriptenSamuel Mehrbrodt
See https://wiki.documentfoundation.org/Development/Emscripten for details Change-Id: I977a8b9e98b9be13c263fef48f567b92347d0492 Reviewed-on: https://gerrit.libreoffice.org/18643 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-10-05Fix error C2440: casts requiredTor Lillqvist
Change-Id: I34f7e43d7ed4daaf39f7453114ee468e27f0d90e
2015-10-05malloc + memset (0) --> callocPedro Giffuni
Drop useless casts while here. (cherry picked from commit fc4e91e7288d13c40cc78bfa680c7a1e6047c087) Change-Id: I435c64400d0631926211fbcdc1d38e140462fec1
2015-10-01remove old standalone Sun bug numbersNoel Grandin
Sun bug numbers without any accompanying text are completely useless. Fixed with git grep -lP '//\s*#\d+#\s*$' | xargs perl -i -ne'/\/\/\s*#\d+#\s*$/d or print' And then hand-checking the result to restore places where it deleted code. And then some more grepping and hand-editing to kill the others. Change-Id: Ia96ce4466db8bb8da363ebf41f0ae7f45f28bf29 Reviewed-on: https://gerrit.libreoffice.org/19023 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-01Revert "by default use the system memory allocator"Markus Mohrhard
It seems that even on Linux the system allocator is worse than our internal allocator. e.g: http://perf.libreoffice.org/perf_html/chitest_of_cppu_sc_on_vm139.details.html This reverts commit 006d30b1a29e2c471a96c0f4658beea8cb86b338.
2015-09-30Avoid unhelpful -Wunused-variableStephan Bergmann
...at least from "g++ (GCC) 5.1.1 20150618 (Red Hat 5.1.1-4)" with --disable-debug, when a namespace-scope const variable with a "complex" initializer declared in an include file remains unused. Avoid that warning via SAL_CONSTEXPR, which in turn requires large parts of o3tl::is_typed_flags to be SAL_CONSTEXPR, which in turn requires a new HAVE_CXX14_CONSTEXPR to allow assert in constexpr functions, which in turn requires using -std=c++14 instead of -std=c++11 where available, which in turn (a) requires to /not/ use -std=c++14 if it would run into a bug between Clang and libstdc++ discussed at <https://llvm.org/bugs/show_bug.cgi?id=24115> "llvm-nm fails to build with gcc 5.1's libstdc++" (and which hits us in sfx2/source/control/thumbnailview.cxx), and (b) requires a new HAVE_CXX14_SIZED_DEALLOCATION to work around GCC 5.1 -Werror=sized-deallocation (where Clang >= 3.7 only supports C++14 sized deallocation when explictly enabled via -fsized-deallocation, btw). This effectively reverts ff6462e6307e6924dc6c8178043ae9032f4b4152 "avoid unused variable warning:" again. Change-Id: I424e3561452a3e6d8c8a9604d6c737cab49840c4 Reviewed-on: https://gerrit.libreoffice.org/18918 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2015-09-30Fix typosAndrea Gelmini
Change-Id: Ia41f4f0ca30ae3346d0720271478ec5bcdab797b Reviewed-on: https://gerrit.libreoffice.org/18967 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-09-28Remove bogus unreliable testStephan Bergmann
Change-Id: I33ac62e10030a3d975f7644406025dbb5deb711e
2015-09-28by default use the system memory allocatorMarkus Mohrhard
Anything except an unset G_SLICE or the value always-malloc results in the custom allocator. We might revert that change if it causes issues but currentlz it looks like our custom allocator performs quite badly in some situations. Change-Id: Ib867f7ba0de4d599aa045c28aaab9b644d619beb
2015-09-23Better fail with E_EXIST if rename(3) failsStephan Bergmann
...it leads to better handling of the failure downstream, if e.g. this is an attempt to copy a file from the presets to an existing file of a previously partly generated UserInstallation, and the presets and the UserInstallation are on different drives and rename(3) fails with EXDEV. (Without this fix, removing the UserInstallation's registrymodifications.xcu caused restarting soffice to fail with "User installation could not be completed" in this case; regression introduced with 6edbcc1b231feb02f304ff646c323b5df051d9a4 "cid#1242936 handle rename failure.") Change-Id: I409698c4e2e6cc6ccd8b2be80a393c9657b5125d
2015-09-18valgrind: memleak in randompoolCaolán McNamara
regression from commit 91457fb326dda7bd1fc6d9e1b3afe0667425121c Author: Norbert Thiebaud <nthiebaud@gmail.com> Date: Tue Apr 21 20:55:15 2015 -0500 use osl_get_system_random data in rtlRamdomPool Change-Id: Ib5ff6b7fbd08869d9a6dbc1f4df883d701cf765c
2015-09-11Useless cargo cult?Stephan Bergmann
Change-Id: I0bb5582a6aef51ac65466531115d67c6dbad1fcd Reviewed-on: https://gerrit.libreoffice.org/18493 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-09-10Add OString::startsWithIgnoreAsciiCaseStephan Bergmann
...analogous to the existing OUString::startsWihtIgnoreAsciiCase, to be used in the next commit Change-Id: Iad6989c16e1bda6b2b0a58e6c768f7852560bb00
2015-09-03sal: actually that uwinapi stuff doesn't include sal headers?Michael Stahl
Change-Id: I1812b7050af725ee754c9e41b9b635319eead33a
2015-09-03sal: actually export the legacy function for VS 2015Michael Stahl
Change-Id: I29e43f865133b030bbe76d5a9fe90c978228ed96 Reviewed-on: https://gerrit.libreoffice.org/18294 Reviewed-by: David Ostrovsky <david@ostrovsky.org> Tested-by: Jenkins <ci@libreoffice.org>
2015-09-03Fix some perl shebangs.Pedro Giffuni
Most important perl scripts already use a portable method but fix these nevertheless. (cherry picked from commit 93496a6c1e5b2ae1756dc9b8043e2267209387da) Change-Id: Id8b5e974356701e66f9dd8a6bd7a58fd4f5633ae
2015-09-02Don't redefine snprintf as VS 2015 supports ISO standardDavid Ostrovsky
Make the workaround in snprintf.h conditional on older MSVC version. Investigation reveals that the GetShortPathNameW is presumably used by legacy Duden extension that was built by Sun in a setsolar environment. The uwinapi.lib was never part of the SDK, so ordinary extensions cannot link against it. The PRIVATE export of the symbol that is only possible with DEF file therefore does not matter much. With VC2015 there is no need for LO code to use uwinapi.dll at all and gb_UWINAPI can be unset in this case. Change-Id: I23a5636db9431b0fa4350b665a6a69613d625264 Reviewed-on: https://gerrit.libreoffice.org/16677 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-08-31sal: oops, forgot to commit that bitMichael Stahl
Change-Id: Iee85958a6589624bc9a61242fca41214bdd1df85
2015-08-31sal: don't use --target as parameter to cppunittesterMichael Stahl
CppunitTest_libreofficekit_tiledrendering hangs because the soffice_main exits due to the unrecognized command line arg --target. Use a -env:VARIABLE argument instead, which is filtered out by rtl_getAppCommandArg() so does not reach the soffice_main code. (regression from 87514b0907dfbb479e2646b5ff951c68babf3417) Change-Id: I2c801305398dccfb447e4e5c44726f42bf2a72ef
2015-08-31sal: loplugin:stringconstantMiklos Vajna
Change-Id: Ib4e7f4f71494abd654a70cf8ba8b0ca0afcd7df1
2015-08-31log resource usage of unit tests on UNX platformsMarkus Mohrhard
Change-Id: I3788eae60f73bc42488bf2e4961922962f7e505b Reviewed-on: https://gerrit.libreoffice.org/18155 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2015-08-23tdf#39440 cppcheck: redundantAssignmentMichael Weghorn
This addresses some of cppcheck's "redundantAssignment" warnings ("Variable '<varName>' is reassigned a value before the old one has been used"). Change-Id: I8fd2950d5aa1a3f4bd9e1c4c336abe465d1f657e Reviewed-on: https://gerrit.libreoffice.org/17926 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-22tdf#39440 reduce scope of local variablesMichael Weghorn
This addresses some cppcheck warnings. Change-Id: Ie492fb9c106b37c3fe7b0105236ad6315f4f159e Reviewed-on: https://gerrit.libreoffice.org/17921 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2015-08-21tdf#93569 - restore ACT_ABORT distinction.Michael Meeks
In order to handle signals, we need to have ACT_ABORT in place and distinct from ACT_SYSTEM. cf. if (Signals[i].Action != ACT_SYSTEM) during setup. Change-Id: I8c69d48244ba462f2e2385a530cbbf4740ccee9a Reviewed-on: https://gerrit.libreoffice.org/17889 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-08-18no need for pre/postmac in osl/unx/system.hNorbert Thiebaud
Change-Id: Id96cc357ae4d8d064bb297a17d9033ffe8643df3 Reviewed-on: https://gerrit.libreoffice.org/17821 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2015-08-11new loplugin: defaultparamsNoel Grandin
find places where we do not need to be passing a parameter to a function, because that function has a default value which matches the value we are passing. Change-Id: I04d1fd6275204dd4925e6563282464f461123632
2015-08-06sal: fix assert in osl_joinWithThread()Michael Stahl
e3a74864a02d2ed362f7bfb82c5ce6068b908101 was subtly wrong: in a --enable-online-update build, the assertion triggered with nonsensical stacks like: 4 in osl_joinWithThread(oslThread) at /sal/osl/unx/thread.cxx:441 5 in osl::Thread::join() at /include/osl/thread.hxx:111 6 in (anonymous namespace)::UpdateCheckJob::notifyTermination(com::sun::star::lang::EventObject const&) at /extensions/source/update/check/updatecheckjob.cxx:312 7 in framework::Desktop::impl_sendNotifyTerminationEvent() at /framework/source/services/desktop.cxx:1665 8 in framework::Desktop::terminate() at /framework/source/services/desktop.cxx:307 ... 14 in binaryurp::(anonymous namespace)::request(void*) at /binaryurp/source/reader.cxx:85 15 in cppu_threadpool::JobQueue::enter(long, bool) at /cppu/source/threadpool/jobqueue.cxx:115 16 in cppu_threadpool::ORequestThread::run() at /cppu/source/threadpool/thread.cxx:171 The problem is that the early-return case is (accidentally) doing the right thing for an attempt to join a thread that has already terminated normally, but the assertion must not trigger when the terminated thread's ID is re-used by a later thread. Change-Id: I2a6764d2ec189d96ccb366db14395029bb8e73ad
2015-08-06sal: make osl_joinWithThread() a little more consistentMichael Stahl
If the Win32 implementation deadlocks on a self-join, at least assert in the same situation on UNIX. Change-Id: I1b9e3da95837d456e6933e8fd9a256869cb4bde9
2015-08-04sal,rsc,oox: inline some use-once typedefsNoel Grandin
Change-Id: I91bebe06c5c5f3ebe5fbeec83dcf3f5bdf563201
2015-07-30tdf#60381: Accessing Sharepoint share using UNC path does not work.Giuseppe Castagno
Added two Windows API missing errors. The errors added: ERROR_FILE_CHECKED_OUT returned when trying to access a file that is locked by another user. ERROR_INVALID_NAME returned when trying to access a local file with the wrong chars in the path or file name. Mapped to existent osl_File_E_.... for compatibility. Change-Id: I0bea1ff2727729c569b0a2cb6befd0d38289b8a2 Reviewed-on: https://gerrit.libreoffice.org/17412 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
2015-07-27inline a bunch of use-once macrosNoel Grandin
no point in having a macro unless it's actually going to reduce the number of lines of code Change-Id: Ic8760d6506cf272d7bd088f7b3b4dcbf288099fc
2015-07-23coverity#1312138 Resource leakCaolán McNamara
Change-Id: Ib3f5665f336fb933fbfa88a1032d76d881b38196
2015-07-21loplugin:cstylecastNoel Grandin
Change-Id: If877cd61000fe6b82083a9fff79c25364d49e721
2015-07-20use osl_get_system_random data in rtlRamdomPoolNorbert Thiebaud
substitute as much as possible getting directly random data from the system rather than mixing our own pseudo-random numbers Fall back on the home-grown method if for some reason system random does not work. (on windows rand_s() is said to be able to return errors, beyond EINVAL, but they are just not listed.. so who knows) Change-Id: I71e88e097a9f3587086a710e9a785d61c560785e Reviewed-on: https://gerrit.libreoffice.org/15474 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-07-20add an internal api to osl to collect 'native' random numbersNorbert Thiebaud
use /dev/urandom on unixes and rand_s() on windows Change-Id: Iccd6e01706f16d82f23cda0f0a410953c32fbc02 Reviewed-on: https://gerrit.libreoffice.org/15473 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-07-16loplugin:simplifyboolStephan Bergmann
Change-Id: I9c4be053a8e39683e0d557a7a6be109507374d70
2015-07-15Log the actual string, not the rtl_uString pointer valueTor Lillqvist
Change-Id: I51938f4801436aff31b51fd36c89582062f83b9a
2015-07-13Make content of OSL_ASSERT, DBG_ASSERT, etc. visiblie in non-debug buildsStephan Bergmann
...to avoid lots of loplugin:staticmethods warnings. Also enables DBG_ASSERT etc. also for --enable-debug builds in addition to --enable-dbgutil builds. Change-Id: Ib89ecd9ab8ce7abb2c64790ace248b31f9d2b64d
2015-07-10cleanup some unnecessary direct usage of the OString/OUString C API.Noel Grandin
Change-Id: I6edee95aae1c169ce70063562a0c1b287e0c4735 Reviewed-on: https://gerrit.libreoffice.org/16861 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-09Do not call SAL_N_ELEMENTS on empty arrayStephan Bergmann
Change-Id: I8b73c61a9662079927344029eb9872c6a19aad76
2015-07-08Fix typosAndrea Gelmini
Change-Id: I020c7ce4d9aa93cb0292378a410cdb9f7788e920 Signed-off-by: Michael Stahl <mstahl@redhat.com>
2015-07-07performance tuning of rtl_ustr_indexOfAscii_WithLength()Norbert Thiebaud
lcov over make check showed 98 4699997 : sal_Int32 rtl_ustr_indexOfAscii_WithLength( 99 : sal_Unicode const * str, sal_Int32 len, 100 : char const * subStr, sal_Int32 subLen) SAL_THROW_EXTERN_C() 101 : { 102 4699997 : assert(len >= 0); 103 4699997 : assert(subLen >= 0); 104 4699997 : if (subLen > 0 && subLen <= len) { 105 : sal_Int32 i; 106 54014537 : for (i = 0; i <= len - subLen; ++i) { 107 51036513 : if (rtl_ustr_asciil_reverseEquals_WithLength( 108 51036523 : str + i, subStr, subLen)) 109 : { 110 205482 : return i; 111 : } 112 : } 113 : } 114 4494505 : return -1; 115 : } so 1/ in 95% of the cases the result is not-found.. _that_ is the hot path 2/ we are calling rtl_ustr_asciil_reverseEquals_WithLength close to 11 times per call.. (average ~ len - subLen, due to the high miss ratio) so let's first search for the first byte of the substring to optimize the 'miss' case, which is the most common one. Change-Id: I20ef0821db2ff0db5935dd562844a947a14aff64 Reviewed-on: https://gerrit.libreoffice.org/16763 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>