From 810d4c51f9b2d5e8c2729eafaa1780287bc26227 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Adri=C3=A1n=20Arroyo=20Calle?= Date: Thu, 30 Sep 2021 22:59:15 +0200 Subject: [PATCH] Close Stream bug files --- tests-pl/issue1046-close-stream-client.pl | 32 +++++++++++++++++++++++ tests-pl/issue1046-close-stream.pl | 14 ++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests-pl/issue1046-close-stream-client.pl create mode 100644 tests-pl/issue1046-close-stream.pl diff --git a/tests-pl/issue1046-close-stream-client.pl b/tests-pl/issue1046-close-stream-client.pl new file mode 100644 index 00000000..db192ddc --- /dev/null +++ b/tests-pl/issue1046-close-stream-client.pl @@ -0,0 +1,32 @@ +:- use_module(library(sockets)). +:- use_module(library(time)). +:- use_module(library(format)). +:- use_module(library(charsio)). + +test :- + Addr = '0.0.0.0', + Port = 5000, + socket_client_open(Addr:Port, Stream, [type(binary)]), + read_line(Stream, Line), + write(Line), + close(Stream). + + +read_line(Stream, Line) :- + get_byte(Stream, Char), + ( Char = -1 -> + Line = [] + ; Char = 13 -> + read_line(Stream, Line) + ; Char = 10 -> + Line = [] + ; (read_line(Stream, Line0), Line = [Char|Line0]) + ). + +read_message(Stream, [Cs|Message]) :- + read_line(Stream, Bs), + chars_utf8bytes(Cs, Bs), + ( Cs = "." -> + Message = [] + ; read_message(Stream, Message) + ). diff --git a/tests-pl/issue1046-close-stream.pl b/tests-pl/issue1046-close-stream.pl new file mode 100644 index 00000000..0ac47fcc --- /dev/null +++ b/tests-pl/issue1046-close-stream.pl @@ -0,0 +1,14 @@ +:- use_module(library(sockets)). +:- use_module(library(time)). +:- use_module(library(format)). + +test :- + Addr = '0.0.0.0', + Port = 5000, + once(socket_server_open(Addr:Port, Socket)), + format("Listening at port ~d\n", [Port]), + socket_server_accept(Socket, _Client, Stream, [type(binary)]), + format(Stream, "FIRST\r\n", []), + sleep(20), + format(Stream, "SECOND\r\n", []), + close(Stream). \ No newline at end of file -- 2.54.0