forked from enlightenment/enlightenment
e - fix xdg runtime dir creation withotu deletion
this fixes T1366 - uses tmp dot file in xdg dir to mark it for deletion to survive e restarts and crashes.
This commit is contained in:
parent
eeedb6a9d8
commit
dec56e87da
|
@ -164,7 +164,12 @@ _xdg_data_dirs_augment(void)
|
||||||
snprintf(buf, sizeof(buf), "/tmp/xdg-XXXXXX");
|
snprintf(buf, sizeof(buf), "/tmp/xdg-XXXXXX");
|
||||||
dir = mkdtemp(buf);
|
dir = mkdtemp(buf);
|
||||||
if (!dir) dir = "/tmp";
|
if (!dir) dir = "/tmp";
|
||||||
|
else
|
||||||
|
{
|
||||||
e_util_env_set("XDG_RUNTIME_DIR", dir);
|
e_util_env_set("XDG_RUNTIME_DIR", dir);
|
||||||
|
snprintf(buf, sizeof(buf), "%s/.e-deleteme", dir);
|
||||||
|
ecore_file_mkdir(buf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set menu prefix so we get our e menu */
|
/* set menu prefix so we get our e menu */
|
||||||
|
@ -1054,6 +1059,8 @@ static void
|
||||||
_e_main_shutdown(int errcode)
|
_e_main_shutdown(int errcode)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
const char *dir;
|
||||||
|
|
||||||
printf("E19: Begin Shutdown Procedure!\n");
|
printf("E19: Begin Shutdown Procedure!\n");
|
||||||
|
|
||||||
|
@ -1064,6 +1071,12 @@ _e_main_shutdown(int errcode)
|
||||||
if (_idle_flush) ecore_idle_enterer_del(_idle_flush);
|
if (_idle_flush) ecore_idle_enterer_del(_idle_flush);
|
||||||
_idle_flush = NULL;
|
_idle_flush = NULL;
|
||||||
|
|
||||||
|
dir = getenv("XDG_RUNTIME_DIR");
|
||||||
|
if (dir)
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "%s/.e-deleteme", dir);
|
||||||
|
if (ecore_file_exists(buf)) ecore_file_recursive_rm(dir);
|
||||||
|
}
|
||||||
for (i = (_e_main_lvl - 1); i >= 0; i--)
|
for (i = (_e_main_lvl - 1); i >= 0; i--)
|
||||||
(*_e_main_shutdown_func[i])();
|
(*_e_main_shutdown_func[i])();
|
||||||
if (errcode < 0) exit(errcode);
|
if (errcode < 0) exit(errcode);
|
||||||
|
|
Loading…
Reference in New Issue