30 lines
901 B
Diff
30 lines
901 B
Diff
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;
|
|
}
|
|
|