diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2008-09-04 06:11:15 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2008-09-04 06:11:15 +0000 |
commit | f8b022301c14f6d6eb7cfefb8eb58293fccfbb78 (patch) | |
tree | 2b0923d054be3ac94baacbd20f8c1c981eb99ddb /sal | |
parent | 2368ba139516f20fa97bb4b37ab47a90c7e98127 (diff) |
INTEGRATION: CWS hotmac_DEV300 (1.1.2); FILE ADDED
2008/08/27 07:43:21 kr 1.1.2.1: #i92388#
Diffstat (limited to 'sal')
-rwxr-xr-x | sal/rtl/source/memory_fini.cxx | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/sal/rtl/source/memory_fini.cxx b/sal/rtl/source/memory_fini.cxx new file mode 100755 index 000000000..61fd63dab --- /dev/null +++ b/sal/rtl/source/memory_fini.cxx @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: memory_fini.cxx,v $ + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + + +/* + Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 + + Mac OS X does not seem to support "__cxa__atexit", thus leading + to the situation that "__attribute__((destructor))__" functions + (in particular "rtl_memory_fini") become called _before_ global + C++ object d'tors. + + Using a C++ dummy object instead. +*/ + +#include <stdio.h> + +extern "C" void rtl_memory_fini (void); + + +struct RTL_Memory_Fini { + ~RTL_Memory_Fini() ; +}; + +RTL_Memory_Fini::~RTL_Memory_Fini() { + rtl_memory_fini(); +} + + +static RTL_Memory_Fini rtl_Memory_Fini; |