out:
free(buf);
free(command);
- sc_free(cc->scc.recv);
- sc_free(cc->scc.send);
mutex_lock(mmd_mutex);
if (cc->cmd && (cc->cmd->perms & AFS_WRITE) && ret >= 0)
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));
+ if (ret >= 0 && cc->use_sideband) {
+ ret = send_sb(&cc->scc, NULL, 0, SBD_EXIT__SUCCESS, true);
+ if (ret < 0)
+ PARA_NOTICE_LOG("%s\n", para_strerror(-ret));
+ }
+ sc_free(cc->scc.recv);
+ sc_free(cc->scc.send);
exit(ret < 0? EXIT_FAILURE : EXIT_SUCCESS);
}