diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-12-07 07:38:00 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-12-07 07:38:00 +0000 |
commit | 021eac48bf914e3f1995c6170d8a15b38d000972 (patch) | |
tree | 2ff1a5e9d2074b61d9216aac1582ff1173618d42 /lib-src/emacsserver.c | |
parent | c37e488971321c8e44d4716afbf8c79f7cb654e8 (diff) | |
download | emacs-021eac48bf914e3f1995c6170d8a15b38d000972.tar.gz |
[HAVE_SYSVIPC]: Include sys/utsname.h.
(main): If socket/mqueue name is in home dir, add in the host name.
Rename .emacs_server to .emacs-server-....
Diffstat (limited to 'lib-src/emacsserver.c')
-rw-r--r-- | lib-src/emacsserver.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib-src/emacsserver.c b/lib-src/emacsserver.c index 1017639bda2..b7b948e7fd6 100644 --- a/lib-src/emacsserver.c +++ b/lib-src/emacsserver.c @@ -33,7 +33,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef signal -#if !defined(HAVE_SOCKETS) && !defined(HAVE_SYSVIPC) +#if !defined (HAVE_SOCKETS) && !defined (HAVE_SYSVIPC) #include <stdio.h> main () @@ -126,7 +126,9 @@ main () exit (1); } strcpy (server.sun_path, homedir); - strcat (server.sun_path, "/.emacs_server"); + strcat (server.sun_path, "/.emacs-server-"); + gethostname (system_name, sizeof (system_name)); + strcat (server.sun_path, system_name); /* Delete anyone else's old server. */ unlink (server.sun_path); #endif @@ -253,6 +255,9 @@ main () #include <sys/msg.h> #include <setjmp.h> #include <errno.h> +#include <sys/utsname.h> + +struct utsname system_name; #ifndef errno extern int errno; @@ -285,7 +290,7 @@ main () FILE *infile; /* - * Create a message queue using ~/.emacs_server as the path for ftok + * Create a message queue using ~/.emacs-server as the path for ftok */ if ((homedir = getenv ("HOME")) == NULL) { @@ -293,7 +298,14 @@ main () exit (1); } strcpy (string, homedir); - strcat (string, "/.emacs_server"); +#ifndef HAVE_LONG_FILE_NAMES + /* If file names are short, we can't fit the host name. */ + strcat (string, "/.emacs-server"); +#else + strcat (string, "/.emacs-server-"); + uname (&system_name); + strcat (string, system_name.nodename); +#endif creat (string, 0600); key = ftok (string, 1); /* unlikely to be anyone else using it */ s = msgget (key, 0600 | IPC_CREAT); |