Fixes hang occurring when connection is ready before transaction is started.
timeout_remove(&conn->to_trans);
- if (conn->transactions_head == NULL)
- return;
if (conn->state != SMTP_CLIENT_CONNECTION_STATE_TRANSACTION)
return;
+ if (conn->transactions_head == NULL) {
+ smtp_client_connection_set_state(conn,
+ SMTP_CLIENT_CONNECTION_STATE_READY);
+ return;
+ }
if (conn->reset_needed)
smtp_client_connection_reset(conn);
{
if (conn->state != SMTP_CLIENT_CONNECTION_STATE_READY)
return;
+ if (conn->transactions_head == NULL)
+ return;
if (conn->to_trans != NULL)
return;