diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2017-08-24 18:43:55 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2017-08-24 18:44:39 +0200 |
commit | ae606022d62ddbe20e0855cd65e716d50d04aabc (patch) | |
tree | 22c0523ae704a3bb60b16075ce7f0e94d4d82b77 | |
parent | 33b3d6b71703b20405cbff6de076dcd5aa8a7bd8 (diff) | |
download | NetworkManager-lr/ovs-1.tar.gz |
fixup! devices: add support for openvswitch deviceslr/ovs-1
-rw-r--r-- | src/devices/openvswitch/nm-openvswitch-factory.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/devices/openvswitch/nm-openvswitch-factory.c b/src/devices/openvswitch/nm-openvswitch-factory.c index af08928f71..f1da168e09 100644 --- a/src/devices/openvswitch/nm-openvswitch-factory.c +++ b/src/devices/openvswitch/nm-openvswitch-factory.c @@ -523,6 +523,8 @@ ovsdb_got_msg (NMOpenvswitchFactory *self, json_t *msg) OvsdbMethodCall *call = NULL; json_error_t json_error = { 0, }; json_t *params = NULL; + OvsdbMethodCallback callback; + gpointer user_data; json_id = json_object_get (msg, "id"); if (json_is_number (json_id)) { @@ -542,8 +544,10 @@ ovsdb_got_msg (NMOpenvswitchFactory *self, json_t *msg) } /* Cool, we found a corresponsing call. Finish it. */ - call->callback (self, msg, NULL, call->user_data); + callback = call->callback; + user_data = call->user_data; g_array_remove_index (priv->calls, 0); + callback (self, msg, NULL, user_data); /* Now we're free to serialize and send the next command, if any. */ ovsdb_next_command (self); @@ -701,6 +705,8 @@ ovsdb_disconnect (NMOpenvswitchFactory *self) { NMOpenvswitchFactoryPrivate *priv = NM_OPENVSWITCH_FACTORY_GET_PRIVATE (self); OvsdbMethodCall *call; + OvsdbMethodCallback callback; + gpointer user_data; GError *error; _LOGD ("disconnecting from ovsdb"); @@ -709,8 +715,11 @@ ovsdb_disconnect (NMOpenvswitchFactory *self) error = NULL; call = &g_array_index (priv->calls, OvsdbMethodCall, priv->calls->len - 1); g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_CANCELLED, "Cancelled"); - call->callback (self, NULL, error, call->user_data); + + callback = call->callback; + user_data = call->user_data; g_array_remove_index (priv->calls, priv->calls->len - 1); + callback (self, NULL, error, user_data); } g_string_truncate (priv->input, 0); |