raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=dec56e87daa3972edc74eb2441adb63b7a691311

commit dec56e87daa3972edc74eb2441adb63b7a691311
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Mon Jul 7 14:46:35 2014 +0900

    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.
---
 src/bin/e_main.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 8cbd2b8..c3d58f3 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -164,7 +164,12 @@ _xdg_data_dirs_augment(void)
         snprintf(buf, sizeof(buf), "/tmp/xdg-XXXXXX");
         dir = mkdtemp(buf);
         if (!dir) dir = "/tmp";
-        e_util_env_set("XDG_RUNTIME_DIR", dir);
+        else
+          {
+             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 */
@@ -1054,6 +1059,8 @@ static void
 _e_main_shutdown(int errcode)
 {
    int i = 0;
+   char buf[PATH_MAX];
+   const char *dir;
 
    printf("E19: Begin Shutdown Procedure!\n");
 
@@ -1064,6 +1071,12 @@ _e_main_shutdown(int errcode)
    if (_idle_flush) ecore_idle_enterer_del(_idle_flush);
    _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--)
      (*_e_main_shutdown_func[i])();
    if (errcode < 0) exit(errcode);

-- 


Reply via email to