summaryrefslogtreecommitdiffstats
path: root/meta/packages/networkmanager/files/libnlfix.patch
blob: 69f4922ea0789615ba7e5de0f898dbcf5c8c78a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Index: trunk/src/nm-netlink.c
===================================================================
--- trunk.orig/src/nm-netlink.c	2007-09-25 22:37:50.000000000 +0100
+++ trunk/src/nm-netlink.c	2009-05-16 12:44:26.000000000 +0100
@@ -52,16 +52,20 @@
 struct nl_handle *
 nm_netlink_get_default_handle (void)
 {
+	struct nl_cb *cb;
+
 	if (def_nl_handle)
 		return def_nl_handle;
 
-	def_nl_handle = nl_handle_alloc_nondefault (NL_CB_VERBOSE);
-	g_assert (def_nl_handle);
+	cb = nl_cb_alloc(NL_CB_VERBOSE);
+	def_nl_handle = nl_handle_alloc_cb (cb);
+	if (!def_nl_handle) {
+		nm_warning ("couldn't allocate netlink handle.");
+		return NULL;
+	}
 
-	nl_handle_set_pid (def_nl_handle, (pthread_self () << 16 | getpid ()));
 	if (nl_connect (def_nl_handle, NETLINK_ROUTE) < 0) {
 		nm_error ("couldn't connect to netlink: %s", nl_geterror ());
-		nl_handle_destroy (def_nl_handle);
 		return NULL;
 	}