socket: propagate error in osmo_sock_unix_init() to the caller
Change-Id: Ia90d2ca3106b58dc5953d930f13df829d5b6966f
diff --git a/src/core/socket.c b/src/core/socket.c
index 43736e0..9e0f84e 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -249,7 +249,7 @@
if (rc < 0) {
LOGP(DLGLOBAL, LOGL_ERROR, "unable to listen on socket: %s\n",
strerror(errno));
- return rc;
+ return -errno;
}
break;
}
@@ -1393,7 +1393,7 @@
sfd = socket(AF_UNIX, type, proto);
if (sfd < 0)
- return -1;
+ return -errno;
if (flags & OSMO_SOCK_F_CONNECT) {
rc = connect(sfd, (struct sockaddr *)&local, namelen);
@@ -1413,13 +1413,13 @@
rc = osmo_sock_init_tail(sfd, type, flags);
if (rc < 0) {
close(sfd);
- sfd = -1;
+ sfd = rc;
}
return sfd;
err:
close(sfd);
- return -1;
+ return -errno;
}
/*! Initialize a unix domain socket and fill \ref osmo_fd