Lines Matching refs:cs
43 control_init(struct privsep *ps, struct control_sock *cs) in control_init() argument
50 if (cs->cs_name == NULL) in control_init()
59 if (strlcpy(sun.sun_path, cs->cs_name, in control_init()
61 log_warn("%s: %s name too long", __func__, cs->cs_name); in control_init()
66 if (unlink(cs->cs_name) == -1) in control_init()
68 log_warn("%s: unlink %s", __func__, cs->cs_name); in control_init()
73 if (cs->cs_restricted) { in control_init()
82 log_warn("%s: bind: %s", __func__, cs->cs_name); in control_init()
89 if (chmod(cs->cs_name, mode) == -1) { in control_init()
92 (void)unlink(cs->cs_name); in control_init()
96 cs->cs_fd = fd; in control_init()
97 cs->cs_env = env; in control_init()
103 control_listen(struct control_sock *cs) in control_listen() argument
105 if (cs->cs_name == NULL) in control_listen()
108 if (listen(cs->cs_fd, CONTROL_BACKLOG) == -1) { in control_listen()
113 event_set(&cs->cs_ev, cs->cs_fd, EV_READ, in control_listen()
114 control_accept, cs); in control_listen()
115 event_add(&cs->cs_ev, NULL); in control_listen()
116 evtimer_set(&cs->cs_evt, control_accept, cs); in control_listen()
122 control_cleanup(struct control_sock *cs) in control_cleanup() argument
124 if (cs->cs_name == NULL) in control_cleanup()
126 event_del(&cs->cs_ev); in control_cleanup()
127 event_del(&cs->cs_evt); in control_cleanup()
137 struct control_sock *cs = arg; in control_accept() local
139 event_add(&cs->cs_ev, NULL); in control_accept()
153 event_del(&cs->cs_ev); in control_accept()
154 evtimer_add(&cs->cs_evt, &evtpause); in control_accept()
175 c->iev.data = cs; /* proc.c cheats (reuses the handler) */ in control_accept()
177 c->iev.handler, cs); in control_accept()
197 control_close(int fd, struct control_sock *cs) in control_close() argument
213 if (evtimer_pending(&cs->cs_evt, NULL)) { in control_close()
214 evtimer_del(&cs->cs_evt); in control_close()
215 event_add(&cs->cs_ev, NULL); in control_close()
224 struct control_sock *cs = arg; in control_dispatch_imsg() local
229 struct httpd *env = cs->cs_env; in control_dispatch_imsg()
238 control_close(fd, cs); in control_dispatch_imsg()
245 control_close(fd, cs); in control_dispatch_imsg()
252 control_close(fd, cs); in control_dispatch_imsg()
263 control_close(fd, cs); in control_dispatch_imsg()