X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=afs.c;h=00143799c1c729cfd6fb744a204b46a76e2fee3e;hb=5ceb90b647125035d52ae935a7fdae037b5b50a4;hp=75a4b97dac5eb8a9a351d71c0ac61fb7b839ee77;hpb=07daa886fda65b868966c19e812c42433ffbfd5b;p=paraslash.git diff --git a/afs.c b/afs.c index 75a4b97d..00143799 100644 --- a/afs.c +++ b/afs.c @@ -638,16 +638,18 @@ static int setup_command_socket_or_die(void) return socket_fd; } +static char *database_dir; + static void close_afs_tables(void) { int i; PARA_NOTICE_LOG("closing afs_tables\n"); for (i = 0; i < NUM_AFS_TABLES; i++) afs_tables[i].close(); + free(database_dir); + database_dir = NULL; } -static char *database_dir; - static void get_database_dir(void) { if (!database_dir) { @@ -1008,6 +1010,8 @@ out_close: close_afs_tables(); out: signal_shutdown(signal_task); + free_status_items(); + free(current_mop); free_lpr(); if (ret < 0) PARA_EMERG_LOG("%s\n", para_strerror(-ret)); @@ -1020,6 +1024,7 @@ static int com_init_callback(struct afs_callback_arg *aca) int i, ret; close_afs_tables(); + get_database_dir(); for (i = 0; i < NUM_AFS_TABLES; i++) { struct afs_table *t = &afs_tables[i];