mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
* nscd/connections.c (restart): Try to preserve the process name
by reading the /proc/self/exe symlink and using the return name. Patch by Jeff Bastian <jbastian@redhat.com>.
This commit is contained in:
parent
2ca285b098
commit
d9822dbe66
@ -1,3 +1,9 @@
|
||||
2009-03-16 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* nscd/connections.c (restart): Try to preserve the process name
|
||||
by reading the /proc/self/exe symlink and using the return name.
|
||||
Patch by Jeff Bastian <jbastian@redhat.com>.
|
||||
|
||||
2009-03-15 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #9733]
|
||||
|
@ -1418,7 +1418,22 @@ cannot change to old working directory: %s; disabling paranoia mode"),
|
||||
}
|
||||
|
||||
/* The preparations are done. */
|
||||
execv ("/proc/self/exe", argv);
|
||||
#ifdef PATH_MAX
|
||||
char pathbuf[PATH_MAX];
|
||||
#else
|
||||
char pathbuf[256];
|
||||
#endif
|
||||
/* Try to exec the real nscd program so the process name (as reported
|
||||
in /proc/PID/status) will be 'nscd', but fall back to /proc/self/exe
|
||||
if readlink fails */
|
||||
ssize_t n = readlink ("/proc/self/exe", pathbuf, sizeof (pathbuf) - 1);
|
||||
if (n == -1)
|
||||
execv ("/proc/self/exe", argv);
|
||||
else
|
||||
{
|
||||
pathbuf[n] = '\0';
|
||||
execv (pathbuf, argv);
|
||||
}
|
||||
|
||||
/* If we come here, we will never be able to re-exec. */
|
||||
dbg_log (_("re-exec failed: %s; disabling paranoia mode"),
|
||||
|
Loading…
Reference in New Issue
Block a user