}
}
+static void free_shellexecute(void)
+{
+ shell_execute_data = 0;
+ shell_execute_process = 0;
+ shellexecute2_queued = 0;
+ for (int i = 0; i < SHELLEXEC_MAX; i++) {
+ struct ShellExecute2 *se2 = &shellexecute2[i];
+ shellexecute2_free(se2);
+ }
+}
+
static void filesys_reset2 (void)
{
Unit *u, *u1;
load_injected_icons();
filesys_reset2 ();
initialize_mountinfo ();
-
- shell_execute_data = 0;
- shell_execute_process = 0;
- shellexecute2_queued = 0;
- for (int i = 0; i < SHELLEXEC_MAX; i++) {
- struct ShellExecute2 *se2 = &shellexecute2[i];
- shellexecute2_free(se2);
- }
+ free_shellexecute();
}
static void filesys_prepare_reset2 (void)
void filesys_cleanup(void)
{
+ filesys_prepare_reset();
+ filesys_reset2();
filesys_free_handles();
free_mountinfo();
destroy_comm_pipe(&shellexecute_pipe);
uae_sem_destroy(&singlethread_int_sem);
uae_sem_destroy(&shellexec_sem);
shell_execute_data = 0;
+ free_shellexecute();
}
void filesys_install (void)