summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/lpr/common_source/startdaemon.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/usr.sbin/lpr/common_source/startdaemon.c b/usr.sbin/lpr/common_source/startdaemon.c
index c9c978e..16ec7ce 100644
--- a/usr.sbin/lpr/common_source/startdaemon.c
+++ b/usr.sbin/lpr/common_source/startdaemon.c
@@ -64,6 +64,7 @@ startdaemon(const struct printer *pp)
{
struct sockaddr_un un;
register int s, n;
+ int connectres;
char c;
s = socket(PF_LOCAL, SOCK_STREAM, 0);
@@ -78,13 +79,14 @@ startdaemon(const struct printer *pp)
#define SUN_LEN(unp) (strlen((unp)->sun_path) + 2)
#endif
seteuid(euid);
- if (connect(s, (struct sockaddr *)&un, SUN_LEN(&un)) < 0) {
- seteuid(uid);
- warn("connect");
+ connectres = connect(s, (struct sockaddr *)&un, SUN_LEN(&un));
+ seteuid(uid);
+ if (connectres < 0) {
+ warn("Unable to connect to %s", _PATH_SOCKETNAME);
+ warnx("Check to see if the master 'lpd' process is running.");
(void) close(s);
return(0);
}
- seteuid(uid);
/*
* Avoid overruns without putting artificial limitations on
OpenPOWER on IntegriCloud