unsigned int search_save_result_used:1; /* command uses search save */
unsigned int temp_executed:1; /* temporary execution state tracking */
unsigned int tagline_sent:1;
+ unsigned int executing:1;
};
struct imap_client_vfuncs {
struct timeval cmd_start_timeval;
uint64_t cmd_start_bytes_in, cmd_start_bytes_out;
+ i_assert(!cmd->executing);
+
io_loop_time_refresh();
cmd_start_timeval = ioloop_timeval;
cmd_start_bytes_in = i_stream_get_absolute_offset(cmd->client->input);
cmd_start_bytes_out = cmd->client->output->offset;
+ cmd->executing = TRUE;
array_foreach(&command_hooks, hook)
hook->pre(cmd);
finished = cmd->func(cmd);
array_foreach(&command_hooks, hook)
hook->post(cmd);
+ cmd->executing = FALSE;
if (cmd->state == CLIENT_COMMAND_STATE_DONE)
finished = TRUE;