- return new_pstream_pvconn("punix", fd, punix_accept, pvconnp);
+ error = set_nonblocking(fd);
+ if (error) {
+ close(fd);
+ return error;
+ }
+
+ if (listen(fd, 10) < 0) {
+ error = errno;
+ VLOG_ERR("%s: listen: %s", name, strerror(error));
+ close(fd);
+ return error;
+ }
+
+ return new_pstream_pvconn("punix", fd, punix_accept,
+ xstrdup(suffix), pvconnp);