### Function

# Gio clear_dbus_signal_subscription

since: 2.84

#### Declaration [src]

    static inline void
    g_clear_dbus_signal_subscription (
      guint* subscription_id_pointer,
      GDBusConnection* connection
    )

#### Description [src]

If `subscription_id_pointer` points to a nonzero subscription ID, unsubscribe from that D-Bus signal subscription as if via `g_dbus_connection_signal_unsubscribe()`.

Also set the value pointed to by `subscription_id_pointer` to zero, which signifies it’s no longer a valid subscription ID.

This convenience function for C code helps to ensure that each signal subscription is unsubscribed exactly once, similar to `g_clear_object()` and `g_clear_signal_handler()`.

Available since: 2.84

This function is not directly available to language bindings.

#### Parameters

`subscription_id_pointer`

  Type: `guint*`

  A pointer to either a subscription ID obtained from `g_dbus_connection_signal_subscribe()`, or zero.

  The argument will be modified by the function.

`connection`

  Type: `GDBusConnection`

  The connection from which the subscription ID was obtained. This pointer may be `NULL` or invalid, if the subscription ID is zero.

  The data is owned by the caller of the function.