commit 6a18e77962eee34480e7b8c89f1e4a441beac8bf
Author: sin <[email protected]>
Date: Mon Jan 27 15:15:58 2014 +0000
Ensure we return a proper error value in setsid(1)
diff --git a/setsid.c b/setsid.c
index 6f7c095..b46c4f3 100644
--- a/setsid.c
+++ b/setsid.c
@@ -15,6 +15,8 @@ usage(void)
int
main(int argc, char *argv[])
{
+ int savederrno;
+
ARGBEGIN {
default:
usage();
@@ -36,6 +38,7 @@ main(int argc, char *argv[])
if(setsid() < 0)
eprintf("setsid:");
execvp(argv[0], argv);
- eprintf("execvp:");
- return (errno == ENOENT) ? 127 : 126;
+ savederrno = errno;
+ weprintf("execvp %s:", argv[0]);
+ return (savederrno == ENOENT) ? 127 : 126;
}