Re: [PATCH v3 1/4] imap-send: wait for the tunnel command to finish
Show 11 quoted lines
> > + if (ictx->cfg->tunnel)
> > + finish_command(&imap->tunnel);
>
> Hmm, okay. Do we _know_ that `ictx->cfg->tunnel` is always properly
> initialized in case we call `imap_close_server()`? Or are there error
> paths where it might not be initialized yet? If the latter I think we
> might see weird behaviour here as the function does not seem to be safe
> when called on an uninitialized command.
>
> Maybe we should make `imap->tunnel` an allocated pointer instead so that
> we know to only finish it when allocated and initialized?
Show 9 quoted lines
> > @@ -1163,19 +1166,20 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, const c
> > /* open connection to IMAP server */
> >
> > if (srvc->tunnel) {
> > - struct child_process tunnel = CHILD_PROCESS_INIT;
> > + struct child_process *tunnel = &imap->tunnel;
>
> Nit: I would have avoided this local variable, it doesn't help us anyway
> to shrink the diff.