summaryrefslogtreecommitdiff
path: root/src/packet_stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/packet_stream.c')
-rw-r--r--src/packet_stream.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/packet_stream.c b/src/packet_stream.c
index 0cf296c..7868242 100644
--- a/src/packet_stream.c
+++ b/src/packet_stream.c
@@ -31,13 +31,6 @@ static void stop_write_internal(struct nn_packet_stream *stream)
ev_io_stop(stream->loop->ev, &stream->wevent);
}
-static void shutdown_internal(struct nn_packet_stream *stream)
-{
- stream->connect = PACKET_STREAM_DISCONNECTING;
- // This assumes select()/poll() will return after shutdown().
- nn_socket_shutdown(&stream->sock);
-}
-
static void discard_out_queue_internal(struct nn_packet_stream *stream)
{
// stream->out.running can be true here. The stream will stop the
@@ -352,7 +345,9 @@ void nn_packet_stream_disconnect(struct nn_packet_stream *stream)
// This relies on stream_read_callback() to resolve and call stop_internal().
// Note that read() can still return data after shutdown(). This is why we have to
// check if connect = DISCONNECTING in send_packet().
- shutdown_internal(stream);
+ stream->connect = PACKET_STREAM_DISCONNECTING;
+ // This assumes select()/poll() will return after shutdown().
+ nn_socket_shutdown(&stream->sock);
}
}