Package: screen
Version: 4.0.3-14
Severity: important
Tags: upstream
Dear Maintainer,
i am starting two screen sessions in parallel on system startup.
Sometimes one of the sessions does not start, writing this message:
Cannot make directory '/var/run/screen/S-root': File exists
Having a look into screen.c reveals the problem.
The existing code looks like this:
if (access(SockPath, F_OK)) {
if (mkdir(SockPath, 0700) == -1)
Panic(errno, "Cannot make directory '%s'", SockPath);
}
There should either be a lock around the startup code (which might fix some
other issues as well) or the code should be changed to something like this:
if (access(SockPath, F_OK)) {
if (mkdir(SockPath, 0700) == -1 && errno != EEXIST)
Panic(errno, "Cannot make directory '%s'", SockPath);
}
Regards, Tim
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.1.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages screen depends on:
ii dpkg 1.16.1.2
ii install-info 4.13a.dfsg.1-8
ii libc6 2.13-24
ii libncursesw5 5.9-4
ii libpam0g 1.1.3-6
screen recommends no packages.
screen suggests no packages.
-- debconf information:
screen/old_upgrade_prompt: false
-- debsums errors found:
prelink: /usr/bin/screen: at least one of file's dependencies has changed since
prelinking
debsums: changed file /usr/bin/screen (from screen package)
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]