struct io *io;
struct timeout *to;
struct timeval start_time;
+ struct ioloop *wait_ioloop;
struct istream *input, *program_input, *raw_program_input;
struct ostream *output, *program_output, *raw_program_output;
pclient->callback = NULL;
if (pclient->destroying || callback == NULL)
return;
+ if (pclient->wait_ioloop != NULL)
+ io_loop_stop(pclient->wait_ioloop);
callback(result, context);
}
program_client_switch_ioloop(pclient);
+ pclient->wait_ioloop = ioloop;
io_loop_run(ioloop);
+ pclient->wait_ioloop = NULL;
io_loop_set_current(prev_ioloop);
program_client_switch_ioloop(pclient);