EVNT__UPDATE_TV();
int evnt_make_bind_local(struct Evnt *evnt, const char *fname,                         unsigned int listen_len){  int fd = -1;  int saved_errno = 0;  size_t len = strlen(fname) + 1;  struct sockaddr_un tmp_sun;  socklen_t alloc_len = 0;  Vstr_ref *ref = NULL;  tmp_sun.sun_path[0] = 0;  alloc_len = SUN_LEN(&tmp_sun) + len;    if ((fd = socket(PF_LOCAL, SOCK_STREAM, 0)) == -1)    goto sock_fail;    if (!(ref = vstr_ref_make_malloc(alloc_len)))    goto init_fail;  if (!evnt_init(evnt, fd, ref))    goto init_fail;  EVNT_SA_UN(evnt)->sun_family = AF_LOCAL;  memcpy(EVNT_SA_UN(evnt)->sun_path, fname, len);  unlink(fname);    if (bind(fd, EVNT_SA(evnt), alloc_len) == -1)    goto bind_fail;  if (fchmod(fd, 0600) == -1)    goto fchmod_fail;    if (listen(fd, listen_len) == -1)    goto listen_fail;  vstr_ref_del(ref);  return (evnt__make_bind_end(evnt));   bind_fail:  saved_errno = errno;  vlg_warn(vlg, "bind(%s): %m\n", fname);  errno = saved_errno; fchmod_fail: listen_fail:  evnt__uninit(evnt); init_fail:  vstr_ref_del(ref);  evnt__fd_close_noerrno(fd); sock_fail:  return (FALSE);}