#include "afh.h"
#include "string.h"
#include "afs.h"
+#include "net.h"
#include "server.h"
#include "list.h"
#include "send.h"
#include "vss.h"
#include "config.h"
#include "close_on_fork.h"
-#include "net.h"
#include "daemon.h"
#include "ipc.h"
#include "fd.h"
int i;
afs_pid = getpid();
+ crypt_shutdown();
user_list_deplete();
for (i = argc - 1; i >= 0; i--)
memset(argv[i], 0, strlen(argv[i]));
if (OPT_GIVEN(DAEMON))
daemon_pipe = daemonize(true /* parent waits for SIGTERM */);
server_pid = getpid();
- init_random_seed_or_die();
+ crypt_init();
daemon_log_welcome("server");
init_ipc_or_die(); /* init mmd struct, mmd and log mutex */
daemon_set_start_time();
*/
mutex_unlock(mmd_mutex);
sched_shutdown(&sched);
+ crypt_shutdown();
signal_shutdown(signal_task);
if (!process_is_command_handler()) { /* parent (server) */
mutex_destroy(mmd_mutex);
daemon_set_hooks(NULL, NULL); /* only one process remaining */
mutex_destroy(log_mutex);
- shm_detach(mmd);
deplete_close_on_fork_list();
if (ret < 0)
PARA_EMERG_LOG("%s\n", para_strerror(-ret));