version 1.65, 2016/05/13 17:51:15 |
version 1.66, 2017/08/21 21:41:13 |
|
|
{ |
{ |
int serrno, status; |
int serrno, status; |
char * volatile path_strip; |
char * volatile path_strip; |
|
pid_t pid; |
|
|
if (issetugid() || (path_strip = getenv("STRIP")) == NULL) |
if (issetugid() || (path_strip = getenv("STRIP")) == NULL) |
path_strip = _PATH_STRIP; |
path_strip = _PATH_STRIP; |
|
|
switch (vfork()) { |
switch ((pid = vfork())) { |
case -1: |
case -1: |
serrno = errno; |
serrno = errno; |
(void)unlink(to_name); |
(void)unlink(to_name); |
|
|
warn("%s", path_strip); |
warn("%s", path_strip); |
_exit(1); |
_exit(1); |
default: |
default: |
if (wait(&status) == -1 || !WIFEXITED(status)) |
while (waitpid(pid, &status, 0) == -1) { |
|
if (errno != EINTR) |
|
break; |
|
} |
|
if (!WIFEXITED(status)) |
(void)unlink(to_name); |
(void)unlink(to_name); |
} |
} |
} |
} |