va_start(ap, format);
// TODO
+ (void)frame;
va_end(ap);
}
result = item->pbt_client->kexec_cb(item->pbt_client, opt_data);
if (!result) {
- //mvaddstr(1, 0, "system is going down now...");
- sleep(60);
+ sleep(item->pbt_client->dry_run ? 1 : 60);
}
pb_log("%s: failed: %s\n", __func__, opt_data->kd->image);
{
struct pbt_frame *const frame = &client->frame;
struct list *i_list = frame->top_menu->item_list;
+ twin_window_t *last_window = NULL;
struct pbt_item *removed_item;
struct pbt_item *prev_item;
struct pbt_item *next_item;
struct pbt_item *i;
- twin_window_t *last_window;
- struct boot_option *opt;
pb_log("%s: %p %s: n_options %d\n", __func__, dev, dev->id,
dev->n_options);
goto fail_scr_init;
/* Loop here for scripts that just started the server. */
-if (1) {
-start_deamon:
- for (i = 10; i; i--) {
+
+retry_start:
+ for (i = start_deamon ? 2 : 10; i; i--) {
pbt_client->discover_client
= discover_client_init(&pbt_client_ops, pbt_client);
- if (pbt_client->discover_client)
+ if (pbt_client->discover_client || !i)
break;
pb_log("%s: waiting for server %d\n", __func__, i);
sleep(1);
result = pb_start_daemon();
if (!result)
- goto start_deamon;
+ goto retry_start;
pb_log("%s: discover_client_init failed.\n", __func__);
fprintf(stderr, "%s: error: discover_client_init failed.\n",
waiter_register(discover_client_get_fd(pbt_client->discover_client),
WAIT_IN, (waiter_cb)discover_client_process,
pbt_client->discover_client);
-}
+
return pbt_client;
fail_client_init: