/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ /* * This file is part of LibreOffice published API. */ #ifndef INCLUDED_OSL_DOUBLECHECKEDLOCKING_H #define INCLUDED_OSL_DOUBLECHECKEDLOCKING_H #if defined __cplusplus extern "C" { #endif /* __cplusplus */ /** A platform specific macro needed to make double-checked locking work. See for a description of double-checked locking, why it is broken, and how it can be fixed. On platforms where it is necessary, this macro will expand to some memory barrier instruction. On many platforms, double-checked locking works as it is, though, so on those platforms this macro will be empty. This is a macro instead of a (C++ inline) function to allow for maximum performance in both C and C++. If possible, use the rtl_Instance template instead of explicitly spelling out the double-checked locking pattern. There are few cases where you will have to spell it out explicitly (e.g., the logic of a certain instance of the pattern is too complex to be mapped to the template, or some compiler refuses to compile a template instantiation due to internal compiler errors), though, and you should always call this macro at the right places then: @code{.cpp} static T * pInstance = 0; T * p = pInstance; if (!p) { Guard aGuard(aMutex); p = pInstance; if (!p) { p = ...; OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); pInstance = p; } } else OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); return p; @endcode One extra advantage of this macro is that it makes it easier to find all places where double-checked locking is used. */ #define OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER() /* empty */ #if defined __cplusplus } #endif /* __cplusplus */ #endif /* INCLUDED_OSL_DOUBLECHECKEDLOCKING_H */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ ra/co-24.04.3'>distro/collabora/co-24.04.3 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/instsetoo_native
AgeCommit message (Expand)Author
2021-04-07Updated README.md files to represent current code / use Markdown formatHossein
2021-03-24Using .md extension/Markdown syntax for modules READMEHossein
2021-01-27packaging: remove resolve_variables_in_downloadnameChristian Lohmaier
2021-01-22Percent-encode spaces also on Linux etc.Stephan Bergmann
2021-01-07Support for signing when PRODUCTNAME contain spacesVasily Melenchuk
2020-12-21recommended gtk3 to gtk4 migration 'Enable diagnostic warnings'Caolán McNamara
2020-11-01Resolves tdf#137880 - Fix for Windows installer imageHeiko Tietze
2020-10-12Resolves tdf#137187 - More dictionaries via extensions dialogHeiko Tietze
2020-08-19Spurious space at start of generated version ini fileStephan Bergmann
2020-07-23tdf#134522 remove --with-build-version ./configure flagRene Engelhard
2020-06-11increase a radiobutton text area in Windows installer dialogRoman Kuznetsov
2020-05-15Resolves tdf#133024 - Position of text in splash screenHeiko Tietze
2020-05-14Resolves tdf#133024 - Position of text in splash screenHeiko Tietze
2020-05-06Move all public Java classes to libreoffice.jarSamuel Mehrbrodt
2020-05-06tdf#130778 revert Windows installer legend imagesRizal Muttaqin
2020-05-03setuprc has to be a .PHONY target in order to get the current git hashAndras Timar
2020-05-01Update for tdf#130778: Windows installer banner and icons. about imagesRizal Muttaqin
2020-04-30Resolves tdf#130778 - Branding for 7.0Heiko Tietze
2020-04-21Relates tdf#130778 - Branding for 7.0Heiko Tietze
2020-04-15Related tdf#130778: New images for splash screenHeiko Tietze
2020-03-16tdf#128281 Increase a checkbox height in Windows installerRoman Kuznetsov
2020-03-14tdf#130460: clarify the option some moreMike Kaganski
2020-02-20add macOS malloc debugging env varsNoel Grandin
2020-02-16GBUILD_TRACE, support for finding out where the build time is spentLuboš Luňák
2020-02-04tdf#117331 Merge jurt and unoil into ridlSamuel Mehrbrodt
2020-02-03Set INSTALLLOCATION in one single placeMike Kaganski
2020-01-19Remove a hardcoded product name from a translatable stringAdolfo Jayme Barrientos
2019-12-11tdf#128991 Make clear in the help installer Roman Kuznetsov
2019-11-30MSI: Disable creation of system restore points during installationMike Kaganski
2019-11-20tdf#127711 Fix msi-soffice.ini CrashDumpEnable-entryJuergen Funk
2019-11-11User interface languages: At least one is requiredSamuel Mehrbrodt
2019-10-02tdf#127711 - A runtime-switch for the MiniCrashDumpJuergen Funk
2019-09-21tdf#126944 - Update help installer fonts to Segoe UI 9 ptRoman Kuznetsov
2019-09-06WINDOWS_BUILD_SIGNING: check for explicit TRUE for signing msiChristian Lohmaier
2019-09-06split msi signing from creation to reduce number of singtool callsChristian Lohmaier
2019-09-01tdf#127240 Increase a height of checkbox's text in win installerRoman Kuznetsov
2019-08-12Fix typosAndrea Gelmini
2019-08-12Fix typosAndrea Gelmini
2019-08-06Fix some windows installer's dialog new fonts problemRoman Kuznetsov
2019-06-28Removed executable permission on bmp fileAndrea Gelmini
2019-06-27tdf#99891 Update installer fonts to match newer versions of WindowsRoman Kuznetsov
2018-12-24tdf#122302: Set status message when installing KB2999226Mike Kaganski
2018-12-17tdf#122134: use CurrentMajorVersionNumber to filter out Windows 10Mike Kaganski
2018-12-16tdf#121987 follow-up: never fail MSU install; warn instead.Mike Kaganski
2018-11-09Related: tdf#121134: Changing http to https where possibleSophia Schröder
2018-10-22tdf#120176 - Text appears as white on first launchheiko tietze