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 | bb14c3f37ec0319af56f39c778375a4231054293 (patch) | |
tree | 8239398a8576a66c950d48308742cec4957ec9a2 /sal | |
parent | 8e1b51ec05f81ab7c13b2d7aae4402f1a39ec5cb (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 000000000000..99c957a739c3 --- /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; |