static void user_async_cmd_handler(Monitor *mon, const mon_cmd_t *cmd,

                                   const QDict *params)

{

    int ret;



    MonitorCompletionData *cb_data = g_malloc(sizeof(*cb_data));

    cb_data->mon = mon;

    cb_data->user_print = cmd->user_print;

    monitor_suspend(mon);

    ret = cmd->mhandler.cmd_async(mon, params,

                                  user_monitor_complete, cb_data);

    if (ret < 0) {

        monitor_resume(mon);

        g_free(cb_data);

    }

}

static void user_async_cmd_handler(Monitor *mon, const mon_cmd_t *cmd,

                                   const QDict *params)

{

    int ret;



    MonitorCompletionData *cb_data = g_malloc(sizeof(*cb_data));

    cb_data->mon = mon;

    cb_data->user_print = cmd->user_print;

    monitor_suspend(mon);

    ret = cmd->mhandler.cmd_async(mon, params,

                                  user_monitor_complete, cb_data);

    if (ret < 0) {

        monitor_resume(mon);

        g_free(cb_data);

    }

}

static void user_async_cmd_handler(Monitor *mon, const mon_cmd_t *cmd,                                    const QDict *params)     int ret;     MonitorCompletionData *cb_data = g_malloc(sizeof(*cb_data));     cb_data->mon = mon;     cb_data->user_print = cmd->user_print;     monitor_suspend(mon);     ret = cmd->mhandler.cmd_async(mon, params,                                   user_monitor_complete, cb_data);     if (ret < 0) {         monitor_resume(mon);         g_free(cb_data);
static void FUNC_0(Monitor *VAR_0, const mon_cmd_t *VAR_1,

                                   const QDict *VAR_2)

{

    int VAR_3;



    MonitorCompletionData *cb_data = g_malloc(sizeof(*cb_data));

    cb_data->VAR_0 = VAR_0;

    cb_data->user_print = VAR_1->user_print;

    monitor_suspend(VAR_0);

    VAR_3 = VAR_1->mhandler.cmd_async(VAR_0, VAR_2,

                                  user_monitor_complete, cb_data);

    if (VAR_3 < 0) {

        monitor_resume(VAR_0);

        g_free(cb_data);

    }

}

static void FUNC_0(Monitor *VAR_0, const mon_cmd_t *VAR_1,
const QDict *VAR_2)
{ int VAR_3; MonitorCompletionData *cb_data = g_malloc(sizeof(*cb_data)); cb_data->VAR_0 = VAR_0; cb_data->user_print = VAR_1->user_print; monitor_suspend(VAR_0); VAR_3 = VAR_1->mhandler.cmd_async(VAR_0, VAR_2,
user_monitor_complete, cb_data); if (VAR_3 < 0) { monitor_resume(VAR_0); g_free(cb_data); } }