/* Request is dereferenced in payload destroy callback */
i_stream_unref(&payload);
- if (conn->to_input != NULL && conn->conn.input != NULL) {
+ if (conn->to_input != NULL && !conn->conn.input->closed) {
/* Already finished reading the payload */
http_client_payload_finished(conn);
}
http_client_connection_unref_request(conn, &req);
}
- if (conn->incoming_payload == NULL && conn->conn.input != NULL) {
+ if (conn->incoming_payload == NULL && !conn->conn.input->closed) {
i_assert(conn->conn.io != NULL ||
pshared->addr.type == HTTP_CLIENT_PEER_ADDR_RAW);
return http_client_connection_unref(&conn);
o_stream_unref(&resp->payload_output);
resp->payload_output = NULL;
}
- if (conn->conn.output != NULL &&
+ if (!conn->conn.output->closed &&
o_stream_get_buffer_used_size(conn->conn.output) > 0) {
e_debug(resp->event,
"Not quite finished sending response");
http_server_connection_ref(conn);
conn->output_locked = FALSE;
- if (conn->conn.output != NULL && !conn->conn.output->closed) {
+ if (!conn->conn.output->closed) {
if (resp->payload_corked &&
o_stream_uncork_flush(conn->conn.output) < 0)
http_server_connection_handle_output_error(conn);
return -1;
}
- if (conn->conn.output != NULL && !resp->payload_corked &&
+ if (!conn->conn.output->closed && !resp->payload_corked &&
o_stream_uncork_flush(conn->conn.output) < 0) {
http_server_connection_handle_output_error(conn);
return -1;
void smtp_client_connection_uncork(struct smtp_client_connection *conn)
{
conn->corked = FALSE;
- if (conn->conn.output != NULL) {
+ if (!conn->conn.output->closed) {
if (o_stream_uncork_flush(conn->conn.output) < 0) {
smtp_client_connection_handle_output_error(conn);
return;
ret = smtp_client_command_input_reply(conn->cmd_wait_list_head, reply);
if (conn->state == SMTP_CLIENT_CONNECTION_STATE_DISCONNECTED ||
- conn->conn.output == NULL)
+ conn->conn.output->closed)
return -1;
return ret;
}
error);
}
}
- if (ret >= 0 && conn->conn.output != NULL && !conn->corked) {
+ if (ret >= 0 && !conn->conn.output->closed && !conn->corked) {
if (o_stream_uncork_flush(conn->conn.output) < 0)
smtp_client_connection_handle_output_error(conn);
}
o_stream_cork(conn->conn.output);
if (smtp_client_command_send_more(conn) < 0)
ret = -1;
- if (ret >= 0 && conn->conn.output != NULL && !conn->corked) {
+ if (ret >= 0 && !conn->conn.output->closed && !conn->corked) {
if (o_stream_uncork_flush(conn->conn.output) < 0)
smtp_client_connection_handle_output_error(conn);
}
struct smtp_server_command *command = cmd->cmd;
int ret;
- if (conn->conn.output == NULL)
+ if (conn->conn.output->closed)
return;
if (smtp_server_command_replied_success(command)) {
void smtp_server_connection_uncork(struct smtp_server_connection *conn)
{
conn->corked = FALSE;
- if (conn->conn.output != NULL) {
+ if (!conn->conn.output->closed) {
if (o_stream_uncork_flush(conn->conn.output) < 0) {
smtp_server_connection_handle_output_error(conn);
return;