that's too unreliable. Hence the separate file, which could
theoretically be updated by daemons running separately -- but this
whole idea is unimplemented; in practice, at least in our
- environment, it seems such stale locks arise fiarly infrequently, and
+ environment, it seems such stale locks arise fairly infrequently, and
Emacs' standard methods of dealing with clashes suffice.
We use symlinks instead of normal files because (1) they can be
stored more efficiently on the filesystem, since the kernel knows
they will be small, and (2) all the info about the lock can be read
in a single system call (readlink). Although we could use regular
- files to be useful on old systems lacking symlinks, noawdays
+ files to be useful on old systems lacking symlinks, nowadays
virtually all such systems are probably single-user anyway, so it
didn't seem worth the complication.
unsigned long pid;
} lock_info_type;
-/* When we read the info back, we might need this much more. */
-#define LOCK_PID_MAX 21 /* enough for signed 64 bits plus null */
+/* When we read the info back, we might need this much more,
+ enough for decimal representation plus null. */
+#define LOCK_PID_MAX (4 * sizeof (unsigned long))
/* Free the two dynamically-allocated pieces in PTR. */
#define FREE_LOCK_INFO(i) do { xfree ((i).user); xfree ((i).host); } while (0)
register int err;
char *user_name = XSTRING (Fuser_login_name (Qnil))->data;
char *host_name = XSTRING (Fsystem_name ())->data;
- char *lock_info_str = alloca (strlen (user_name) + strlen (host_name) + 21);
+ char *lock_info_str = alloca (strlen (user_name) + strlen (host_name)
+ + LOCK_PID_MAX + 5);
sprintf (lock_info_str, "%s@%s.%lu", user_name, host_name,
(unsigned long) getpid ());