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