if (ret >= 0)
goto out;
err_out:
- send_strerror(cc, -ret);
+ if (send_strerror(cc, -ret) >= 0 && cc->use_sideband)
+ send_sb(&cc->scc, NULL, 0, SBD_EXIT__FAILURE, true);
net_err:
PARA_NOTICE_LOG("%s\n", para_strerror(-ret));
out:
mmd->events++;
mmd->active_connections--;
mutex_unlock(mmd_mutex);
+ if (ret < 0)
+ exit(EXIT_FAILURE);
+ if (!cc->use_sideband)
+ exit(EXIT_SUCCESS);
+ ret = send_sb(&cc->scc, NULL, 0, SBD_EXIT__SUCCESS, true);
+ if (ret < 0)
+ PARA_NOTICE_LOG("%s\n", para_strerror(-ret));
exit(ret < 0? EXIT_FAILURE : EXIT_SUCCESS);
}