From 56fa138bafabce659967883250b202d23d697c00 Mon Sep 17 00:00:00 2001
From: Mohan Embar <gnustuff@thisiscool.com>
Date: Sun, 5 Sep 2004 03:36:19 +0000
Subject: [PATCH] natNetworkInterfaceWin32.cc (getRealNetworkInterfaces):
 Changed pfn from static local to local.

	* java/net/natNetworkInterfaceWin32.cc (getRealNetworkInterfaces):
	Changed pfn from static local to local.

From-SVN: r87099
---
 libjava/ChangeLog                            |  5 +++++
 libjava/java/net/natNetworkInterfaceWin32.cc | 11 ++++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 94ed50de23a7..ece60aa4e913 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-04  Mohan Embar  <gnustuff@thisiscool.com>
+
+	* java/net/natNetworkInterfaceWin32.cc (getRealNetworkInterfaces):
+	Changed pfn from static local to local.
+
 2004-09-03  Bryce McKinlay  <mckinlay@redhat.com>
             H.J. Lu  <hongjiu.lu@intel.com>
 
diff --git a/libjava/java/net/natNetworkInterfaceWin32.cc b/libjava/java/net/natNetworkInterfaceWin32.cc
index d4c2b173f893..429066e1bfb2 100644
--- a/libjava/java/net/natNetworkInterfaceWin32.cc
+++ b/libjava/java/net/natNetworkInterfaceWin32.cc
@@ -116,7 +116,16 @@ determineGetRealNetworkInterfacesFN ()
 ::java::util::Vector*
 java::net::NetworkInterface::getRealNetworkInterfaces ()
 {
-  static PfnGetRealNetworkInterfaces pfn =
+  // This next declaration used to be a static local,
+  // but this introduced a dependency on libsupc++ due
+  // to _cxa_guard_acquire and _cxa_guard_release.
+  // When Win95 is gone and we eventually get rid of
+  // winsock2GetRealNetworkInterfaces, we can rework
+  // all of this. Alternatively, we could move this all
+  // to win32.cc and initialize this at startup time,
+  // but that seems more trouble than it's worth at
+  // the moment.
+  PfnGetRealNetworkInterfaces pfn =
     determineGetRealNetworkInterfacesFN ();
     
   jstring arIFName[MAX_INTERFACES];
-- 
GitLab