- Properly clean up threads with newer NSPR
This commit is contained in:
parent
cc3a422225
commit
ac0321ef67
28
firefox-1.5-thread-cleanup.patch
Normal file
28
firefox-1.5-thread-cleanup.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Index: mozilla/xpcom/threads/nsThread.cpp
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/mozilla/xpcom/threads/nsThread.cpp,v
|
||||||
|
retrieving revision 1.58.4.2
|
||||||
|
diff -u -r1.58.4.2 nsThread.cpp
|
||||||
|
--- mozilla/xpcom/threads/nsThread.cpp 1 Oct 2005 18:43:00 -0000 1.58.4.2
|
||||||
|
+++ mozilla/xpcom/threads/nsThread.cpp 7 May 2007 19:10:58 -0000
|
||||||
|
@@ -470,9 +470,17 @@
|
||||||
|
nsThread::Shutdown()
|
||||||
|
{
|
||||||
|
if (gMainThread) {
|
||||||
|
- // XXX nspr doesn't seem to be calling the main thread's destructor
|
||||||
|
- // callback, so let's help it out:
|
||||||
|
- nsThread::Exit(NS_STATIC_CAST(nsThread*, gMainThread));
|
||||||
|
+ // In most recent versions of NSPR the main thread's destructor
|
||||||
|
+ // callback will get called.
|
||||||
|
+ // In older versions of NSPR it will not get called,
|
||||||
|
+ // (unless we call PR_Cleanup).
|
||||||
|
+ // Because of that we:
|
||||||
|
+ // - call the function ourselves
|
||||||
|
+ // - set the data pointer to NULL to ensure the function will
|
||||||
|
+ // not get called again by NSPR
|
||||||
|
+ // The PR_SetThreadPrivate call does both of these.
|
||||||
|
+ // See also bugs 379550, 362768.
|
||||||
|
+ PR_SetThreadPrivate(kIThreadSelfIndex, NULL);
|
||||||
|
nsrefcnt cnt;
|
||||||
|
NS_RELEASE2(gMainThread, cnt);
|
||||||
|
NS_WARN_IF_FALSE(cnt == 0, "Main thread being held past XPCOM shutdown.");
|
@ -12,7 +12,7 @@
|
|||||||
Summary: Mozilla Firefox Web browser.
|
Summary: Mozilla Firefox Web browser.
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 2.0.0.4
|
Version: 2.0.0.4
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
URL: http://www.mozilla.org/projects/firefox/
|
URL: http://www.mozilla.org/projects/firefox/
|
||||||
License: MPL/LGPL
|
License: MPL/LGPL
|
||||||
Group: Applications/Internet
|
Group: Applications/Internet
|
||||||
@ -62,6 +62,7 @@ Patch83: firefox-1.5-pango-cursor-position.patch
|
|||||||
Patch84: firefox-2.0-pango-printing.patch
|
Patch84: firefox-2.0-pango-printing.patch
|
||||||
|
|
||||||
# Other
|
# Other
|
||||||
|
Patch100: firefox-1.5-thread-cleanup.patch
|
||||||
Patch102: firefox-1.5-theme-change.patch
|
Patch102: firefox-1.5-theme-change.patch
|
||||||
Patch104: firefox-1.5-ppc64.patch
|
Patch104: firefox-1.5-ppc64.patch
|
||||||
|
|
||||||
@ -157,6 +158,7 @@ removed in favor of xulrunner-devel.
|
|||||||
%patch83 -p1 -b .pango-cursor-position
|
%patch83 -p1 -b .pango-cursor-position
|
||||||
%patch84 -p0 -b .pango-printing
|
%patch84 -p0 -b .pango-printing
|
||||||
|
|
||||||
|
%patch100 -p1 -b .thread-cleanup
|
||||||
%patch102 -p0 -b .theme-change
|
%patch102 -p0 -b .theme-change
|
||||||
%patch104 -p1 -b .ppc64
|
%patch104 -p1 -b .ppc64
|
||||||
|
|
||||||
@ -416,6 +418,9 @@ fi
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jun 3 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.4-2
|
||||||
|
- Properly clean up threads with newer NSPR
|
||||||
|
|
||||||
* Wed May 30 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.4-1
|
* Wed May 30 2007 Christopher Aillon <caillon@redhat.com> 2.0.0.4-1
|
||||||
- Final version
|
- Final version
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user