b4n commented on this pull request.


> @@ -439,20 +441,35 @@ static gint socket_fd_open_unix(const gchar *path)
                return -1;
        }
 
-       /* fix for #1888561:
-        * in case the configuration directory is located on a network file 
system or any other
-        * file system which doesn't support sockets, we just link the socket 
there and create the
-        * real socket in the system's tmp directory assuming it supports 
sockets */
-       real_path = g_strdup_printf("%s%cgeany_socket.%08x",
-               g_get_tmp_dir(), G_DIR_SEPARATOR, g_random_int());
+       /* Try to place the socket in XDG_RUNTIME_DIR, according to XDG Base
+        * Directory Specification, see
+        * https://specifications.freedesktop.org/basedir-spec/latest */
+       real_dir = g_build_filename(g_get_user_runtime_dir(), "geany", NULL);
+       if (g_mkdir_with_parents(real_dir, 0755) == 0)
+       {
+               basename = g_path_get_basename(path);
+               real_path = g_build_filename(real_dir, basename, NULL);
+       }

This should already be fixed in the current version of the changes, it uses the 
same basename as it used to, including the random integer (which is admittedly 
not necessarily the smartest idea as there's a faint chance of clashes, but 
well, it seems to have served us good enough 'til now).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/2222#discussion_r308570897

Reply via email to