server: Create the socket FD after taking the lock

We're going to split out the lock-taking to another function so we
can repetitively try locks.
This commit is contained in:
Jasper St. Pierre 2014-05-08 10:24:06 -04:00
parent 68dd7d1f5f
commit 6e8a662403

View File

@ -1083,12 +1083,6 @@ wl_display_add_socket(struct wl_display *display, const char *name)
if (s == NULL) if (s == NULL)
return -1; return -1;
s->fd = wl_os_socket_cloexec(PF_LOCAL, SOCK_STREAM, 0);
if (s->fd < 0) {
wl_socket_destroy(s);
return -1;
}
if (name == NULL) if (name == NULL)
name = getenv("WAYLAND_DISPLAY"); name = getenv("WAYLAND_DISPLAY");
if (name == NULL) if (name == NULL)
@ -1115,6 +1109,12 @@ wl_display_add_socket(struct wl_display *display, const char *name)
return -1; return -1;
} }
s->fd = wl_os_socket_cloexec(PF_LOCAL, SOCK_STREAM, 0);
if (s->fd < 0) {
wl_socket_destroy(s);
return -1;
}
size = offsetof (struct sockaddr_un, sun_path) + name_size; size = offsetof (struct sockaddr_un, sun_path) + name_size;
if (bind(s->fd, (struct sockaddr *) &s->addr, size) < 0) { if (bind(s->fd, (struct sockaddr *) &s->addr, size) < 0) {
wl_log("bind() failed with error: %m\n"); wl_log("bind() failed with error: %m\n");