Revert "[runtime] Use pthread_cond_timedwait_relative_np () function on osx if availa...
[mono.git] / mcs / class / System.Net / System.Net.NetworkInformation / NetworkChange_2_1.cs
index 05bd659a017393d57d39d939d26e76bcafca599c..5cdf15f1db97b99fe82d0cce1dc85d7c75c2bc0d 100644 (file)
@@ -25,7 +25,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-#if NET_2_1
+#if MOBILE
 using System.Runtime.InteropServices;
 
 namespace System.Net.NetworkInformation {
@@ -34,7 +34,7 @@ namespace System.Net.NetworkInformation {
                static NetworkChange ()
                {
                        state_changed_callback = new NetworkStateChangedCallback (StateChangedCallback);
-                       moon_network_service_set_network_state_changed_callback (runtime_get_network_service(),
+                       _moonlight_cbinding_moon_network_service_set_network_state_changed_callback (_moonlight_cbinding_runtime_get_network_service(),
                                                                                 state_changed_callback,
                                                                                 IntPtr.Zero);
                }
@@ -43,9 +43,17 @@ namespace System.Net.NetworkInformation {
 
                static void StateChangedCallback (IntPtr sender, IntPtr data)
                {
-                       NetworkAddressChangedEventHandler h = NetworkAddressChanged;
-                       if (h != null)
-                               h (null, EventArgs.Empty);
+                       try {
+                               NetworkAddressChangedEventHandler h = NetworkAddressChanged;
+                               if (h != null)
+                                       h (null, EventArgs.Empty);
+                       } catch (Exception ex) {
+                               try {
+                                       Console.WriteLine ("Unhandled exception: {0}", ex);
+                               } catch {
+                                       // Ignore
+                               }
+                       }
                }
 
                protected NetworkChange ()
@@ -55,14 +63,14 @@ namespace System.Net.NetworkInformation {
                public static event NetworkAddressChangedEventHandler NetworkAddressChanged;
 
                [DllImport ("moon")]
-               internal extern static IntPtr runtime_get_network_service ();
+               internal extern static IntPtr _moonlight_cbinding_runtime_get_network_service ();
 
                [DllImport ("moon")]
-               internal extern static void moon_network_service_set_network_state_changed_callback (IntPtr service,
+               internal extern static void _moonlight_cbinding_moon_network_service_set_network_state_changed_callback (IntPtr service,
                                                                                                     NetworkStateChangedCallback handler, IntPtr data);
 
                [DllImport ("moon")]
-               internal extern static bool moon_network_service_get_is_network_available (IntPtr service);
+               internal extern static bool _moonlight_cbinding_moon_network_service_get_is_network_available (IntPtr service);
        }
 }
 #endif