Lines Matching refs:wi

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