Lines Matching full:wait
58 mapper_async_wait* wait; member
150 mapper_async_wait* wait = data->wait; in async_wait_timeout_callback() local
154 wait->conn, NULL, "xyz.openbmc_project.ObjectMapper", in async_wait_timeout_callback()
160 async_wait_done(r, wait); in async_wait_timeout_callback()
173 mapper_async_wait* wait = data->wait; in async_wait_getobject_callback() local
176 if (wait->finished) in async_wait_getobject_callback()
191 r = sd_event_now(wait->loop, CLOCK_MONOTONIC, &next_retry); in async_wait_getobject_callback()
194 async_wait_done(r, wait); in async_wait_getobject_callback()
199 r = sd_event_add_time(wait->loop, &data->event_source, CLOCK_MONOTONIC, in async_wait_getobject_callback()
204 async_wait_done(r, wait); in async_wait_getobject_callback()
213 async_wait_done(-r, wait); in async_wait_getobject_callback()
217 for (i = 0; i < wait->count; ++i) in async_wait_getobject_callback()
219 if (!strcmp(data->path, wait->objs[i])) in async_wait_getobject_callback()
221 wait->status[i] = 1; in async_wait_getobject_callback()
225 if (async_wait_check_done(wait)) in async_wait_getobject_callback()
227 async_wait_done(0, wait); in async_wait_getobject_callback()
235 static int async_wait_get_objects(mapper_async_wait* wait) in async_wait_get_objects() argument
241 for (i = 0; i < wait->count; ++i) in async_wait_get_objects()
243 if (wait->status[i]) in async_wait_get_objects()
248 data->wait = wait; in async_wait_get_objects()
249 data->path = wait->objs[i]; in async_wait_get_objects()
253 wait->conn, NULL, "xyz.openbmc_project.ObjectMapper", in async_wait_get_objects()
256 async_wait_getobject_callback, data, "sas", wait->objs[i], 0, NULL); in async_wait_get_objects()
273 mapper_async_wait* wait = w; in async_wait_match_introspection_complete() local
274 if (wait->finished) in async_wait_match_introspection_complete()
279 r = async_wait_get_objects(wait); in async_wait_match_introspection_complete()
282 async_wait_done(r, wait); in async_wait_match_introspection_complete()
337 mapper_async_wait* wait = NULL; in mapper_wait_async() local
339 wait = malloc(sizeof(*wait)); in mapper_wait_async()
340 if (!wait) in mapper_wait_async()
345 memset(wait, 0, sizeof(*wait)); in mapper_wait_async()
346 wait->conn = conn; in mapper_wait_async()
347 wait->loop = loop; in mapper_wait_async()
348 wait->callback = callback; in mapper_wait_async()
349 wait->userdata = userdata; in mapper_wait_async()
350 wait->count = sarraylen(objs); in mapper_wait_async()
351 if (!wait->count) in mapper_wait_async()
357 wait->objs = sarraydup(objs); in mapper_wait_async()
358 if (!wait->objs) in mapper_wait_async()
364 wait->status = malloc(sizeof(*wait->status) * wait->count); in mapper_wait_async()
365 if (!wait->status) in mapper_wait_async()
370 memset(wait->status, 0, sizeof(*wait->status) * wait->count); in mapper_wait_async()
372 r = sd_bus_add_match(conn, &wait->introspection_slot, in mapper_wait_async()
374 async_wait_match_introspection_complete, wait); in mapper_wait_async()
381 r = sd_bus_add_match(conn, &wait->intf_slot, in mapper_wait_async()
383 async_wait_match_introspection_complete, wait); in mapper_wait_async()
390 r = async_wait_get_objects(wait); in mapper_wait_async()
397 *w = wait; in mapper_wait_async()
402 sd_bus_slot_unref(wait->intf_slot); in mapper_wait_async()
404 sd_bus_slot_unref(wait->introspection_slot); in mapper_wait_async()
406 free(wait->status); in mapper_wait_async()
408 sarrayfree(wait->objs); in mapper_wait_async()
410 free(wait); in mapper_wait_async()