Lines Matching refs:wi

89 wait_remove(wait_info_t *wi, int direct)  in wait_remove()  argument
94 if (waitpid(wi->wi_pid, &status, 0) == -1) { in wait_remove()
95 if (wi->wi_parent) in wait_remove()
97 "instance %s waitpid failure: %s\n", wi->wi_fmri, in wait_remove()
102 "instance %s exited with status %d\n", wi->wi_fmri, in wait_remove()
112 if (wi->wi_fd != -1) { in wait_remove()
113 startd_close(wi->wi_fd); in wait_remove()
114 wi->wi_fd = -1; in wait_remove()
116 uu_list_remove(wait_info_list, wi); in wait_remove()
123 utmpx_mark_dead(wi->wi_pid, status, B_FALSE); in wait_remove()
125 if (!direct && !wi->wi_ignore) { in wait_remove()
143 "wait_remove requesting stop of %s\n", wi->wi_fmri); in wait_remove()
144 (void) stop_instance_fmri(wait_hndl, wi->wi_fmri, cause); in wait_remove()
147 uu_list_node_fini(wi, &wi->wi_link, wait_info_pool); in wait_remove()
148 startd_free(wi, sizeof (wait_info_t)); in wait_remove()
161 wait_info_t *wi; in wait_ignore_by_fmri() local
165 for (wi = uu_list_first(wait_info_list); wi != NULL; in wait_ignore_by_fmri()
166 wi = uu_list_next(wait_info_list, wi)) { in wait_ignore_by_fmri()
167 if (strcmp(wi->wi_fmri, fmri) == 0) in wait_ignore_by_fmri()
171 if (wi != NULL) { in wait_ignore_by_fmri()
172 wi->wi_ignore = 1; in wait_ignore_by_fmri()
196 wait_info_t *wi; in wait_register() local
203 wi = startd_alloc(sizeof (wait_info_t)); in wait_register()
205 uu_list_node_init(wi, &wi->wi_link, wait_info_pool); in wait_register()
207 wi->wi_fd = -1; in wait_register()
208 wi->wi_pid = pid; in wait_register()
209 wi->wi_fmri = inst_fmri; in wait_register()
210 wi->wi_parent = am_parent; in wait_register()
211 wi->wi_ignore = 0; in wait_register()
214 (void) uu_list_insert_before(wait_info_list, NULL, wi); in wait_register()
222 wait_remove(wi, direct); in wait_register()
236 wi->wi_fd = fd; in wait_register()
238 if (port_associate(port_fd, PORT_SOURCE_FD, fd, 0, wi)) { in wait_register()
258 wait_info_t *wi; in wait_thread() local
272 wi = pe.portev_user; in wait_thread()
273 assert(wi != NULL); in wait_thread()
274 assert(fd == wi->wi_fd); in wait_thread()
284 "assuming failed\n", wi->wi_fmri, in wait_thread()
298 0, wi)) in wait_thread()
301 "failed\n", fd, wi->wi_fmri); in wait_thread()
306 if (port_associate(port_fd, PORT_SOURCE_FD, fd, 0, wi)) in wait_thread()
309 "failed\n", fd, wi->wi_fmri); in wait_thread()
314 wait_remove(wi, 0); in wait_thread()
329 wait_info_t *wi; in wait_postfork() local
343 for (wi = uu_list_first(wait_info_list); in wait_postfork()
344 wi != NULL; in wait_postfork()
345 wi = uu_list_next(wait_info_list, wi)) { in wait_postfork()
346 if (wi->wi_fd != -1) in wait_postfork()
347 startd_close(wi->wi_fd); in wait_postfork()