diff options
author | Vladimir Glazunov <vg@openoffice.org> | 2009-11-24 16:10:44 +0100 |
---|---|---|
committer | Vladimir Glazunov <vg@openoffice.org> | 2009-11-24 16:10:44 +0100 |
commit | d0d38fffca90290acb22e04e0b96066b68218c5e (patch) | |
tree | 7fae92250fb8c8ef72fe35de6e8f1d12058cdd6a /pyuno | |
parent | 10fd4179d5aa3d0bd2ceaefab7e6cce2fed3df5d (diff) | |
parent | 7c9a72d676477f776c4e6af6070ca3c2301e7c2b (diff) |
CWS-TOOLING: integrate CWS cmcfixes64ooo/DEV300_m66
Diffstat (limited to 'pyuno')
-rw-r--r-- | pyuno/source/loader/makefile.mk | 2 | ||||
-rw-r--r-- | pyuno/source/module/makefile.mk | 2 | ||||
-rw-r--r-- | pyuno/source/module/pyuno_gc.cxx | 10 |
3 files changed, 10 insertions, 4 deletions
diff --git a/pyuno/source/loader/makefile.mk b/pyuno/source/loader/makefile.mk index 6e4f96ed7..f9f00e4f1 100644 --- a/pyuno/source/loader/makefile.mk +++ b/pyuno/source/loader/makefile.mk @@ -42,7 +42,7 @@ DLLPRE = #------------------------------------------------------------------- -.IF "$(OS)$(CPU)$(COMEX)" == "SOLARISS4" +.IF "$(OS)$(COMEX)" == "SOLARIS4" # no -Bdirect for SunWS CC DIRECT = $(LINKFLAGSDEFS) .ENDIF diff --git a/pyuno/source/module/makefile.mk b/pyuno/source/module/makefile.mk index 2357d0062..2928d2966 100644 --- a/pyuno/source/module/makefile.mk +++ b/pyuno/source/module/makefile.mk @@ -42,7 +42,7 @@ LINKFLAGSDEFS = # do not fail with missing symbols .IF "$(L10N_framework)"=="" #------------------------------------------------------------------- -.IF "$(OS)$(CPU)$(COMEX)" == "SOLARISS4" +.IF "$(OS)$(COMEX)" == "SOLARIS4" # no -Bdirect for SunWS CC DIRECT = $(LINKFLAGSDEFS) .ENDIF diff --git a/pyuno/source/module/pyuno_gc.cxx b/pyuno/source/module/pyuno_gc.cxx index 080a80cf7..cd6e0f34a 100644 --- a/pyuno/source/module/pyuno_gc.cxx +++ b/pyuno/source/module/pyuno_gc.cxx @@ -43,6 +43,12 @@ public: }; StaticDestructorGuard guard; +static bool isAfterUnloadOrPy_Finalize() +{ + return g_destructorsOfStaticObjectsHaveBeenCalled || + !Py_IsInitialized(); +} + class GCThread : public ::osl::Thread { PyObject *mPyObject; @@ -64,7 +70,7 @@ GCThread::GCThread( PyInterpreterState *interpreter, PyObject * object ) : void GCThread::run() { // otherwise we crash here, when main has been left already - if( g_destructorsOfStaticObjectsHaveBeenCalled ) + if( isAfterUnloadOrPy_Finalize() ) return; try { @@ -100,7 +106,7 @@ void GCThread::onTerminated() void decreaseRefCount( PyInterpreterState *interpreter, PyObject *object ) { // otherwise we crash in the last after main ... - if( g_destructorsOfStaticObjectsHaveBeenCalled ) + if( isAfterUnloadOrPy_Finalize() ) return; // delegate to a new thread, because there does not seem |