program_client_run_async() could have called the callback with result=0
before io_loop_run(). This happened with local client.
Fixes in test-program-client-local:
Panic: BUG: No IOs or timeouts set. Not waiting for infinity.
int program_client_run(struct program_client *pclient)
{
- int ret = 0;
+ int ret = -2;
struct ioloop *prev_ioloop = current_ioloop;
struct ioloop *ioloop = io_loop_create();
program_client_run_async(pclient, program_client_run_callback, &ret);
- if (ret == 0) {
+ if (ret == -2) {
io_loop_run(ioloop);
}