diff options
Diffstat (limited to 'src/mds-registry/reexec.c')
-rw-r--r-- | src/mds-registry/reexec.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/src/mds-registry/reexec.c b/src/mds-registry/reexec.c index 6247e18..6f6510e 100644 --- a/src/mds-registry/reexec.c +++ b/src/mds-registry/reexec.c @@ -197,25 +197,15 @@ int unmarshal_server(char* state_buf) } return 0; - pfail: + fail: xperror(*argv); mds_message_destroy(&received); if (stage >= 1) hash_table_destroy(®_table, (free_func*)reg_table_free_key, (free_func*)reg_table_free_value); - if (stage >= 2) - free(command); - if (stage >= 3) - { - client_list_destroy(list); - free(list); - } - if (stage >= 5) - linked_list_destroy(&slave_list); - if (stage >= 6) - { - slave_destroy(slave); - free(slave); - } + if (stage >= 2) free(command); + if (stage >= 3) client_list_destroy(list), free(list); + if (stage >= 5) linked_list_destroy(&slave_list); + if (stage >= 6) slave_destroy(slave), free(slave); abort(); return -1; } |