From 852d302b8772f35b0e73ce21bc28edb6c09d16a9 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Mon, 15 Mar 2021 21:25:19 +0100 Subject: [PATCH] io: BufferedReader.free() --- vlib/io/buffered_reader.v | 6 ++++++ vlib/vweb/vweb.v | 3 +++ 2 files changed, 9 insertions(+) diff --git a/vlib/io/buffered_reader.v b/vlib/io/buffered_reader.v index b57fcab3cc..f336e2dfed 100644 --- a/vlib/io/buffered_reader.v +++ b/vlib/io/buffered_reader.v @@ -55,6 +55,12 @@ pub fn (mut r BufferedReader) read(mut buf []byte) ?int { return read } +pub fn (mut r BufferedReader) free() { + unsafe { + r.buf.free() + } +} + // fill_buffer attempts to refill the internal buffer // and returns whether it got any data fn (mut r BufferedReader) fill_buffer() bool { diff --git a/vlib/vweb/vweb.v b/vlib/vweb/vweb.v index 7ebbade04d..3b1ca1bbc4 100644 --- a/vlib/vweb/vweb.v +++ b/vlib/vweb/vweb.v @@ -305,6 +305,9 @@ fn handle_conn(mut conn net.TcpConn, mut app T) { conn.close() or {} } mut reader := io.new_buffered_reader(reader: io.make_reader(conn)) + defer { + reader.free() + } page_gen_start := time.ticks() req := parse_request(mut reader) or { eprintln('error parsing request: $err')