mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
autofree: free global map consts and some vweb fixes
This commit is contained in:
parent
b4f7a975e8
commit
091a1bab27
@ -325,6 +325,12 @@ mut:
|
|||||||
data map[string][]string
|
data map[string][]string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn (mut h Header) free() {
|
||||||
|
unsafe {
|
||||||
|
h.data.free()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub struct HeaderConfig {
|
pub struct HeaderConfig {
|
||||||
key CommonHeader
|
key CommonHeader
|
||||||
value string
|
value string
|
||||||
|
@ -4642,12 +4642,16 @@ fn (mut g Gen) const_decl_init_later(mod string, name string, val string, typ ta
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if g.is_autofree {
|
if g.is_autofree {
|
||||||
|
sym := g.table.get_type_symbol(typ)
|
||||||
if styp.starts_with('Array_') {
|
if styp.starts_with('Array_') {
|
||||||
g.cleanups[mod].writeln('\tarray_free(&$cname);')
|
g.cleanups[mod].writeln('\tarray_free(&$cname);')
|
||||||
}
|
}
|
||||||
if styp == 'string' {
|
else if styp == 'string' {
|
||||||
g.cleanups[mod].writeln('\tstring_free(&$cname);')
|
g.cleanups[mod].writeln('\tstring_free(&$cname);')
|
||||||
}
|
}
|
||||||
|
else if sym.kind == .map {
|
||||||
|
g.cleanups[mod].writeln('\tmap_free(&$cname);')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ fn parse_request(mut reader io.BufferedReader) ?http.Request {
|
|||||||
reader.read(mut body) or {}
|
reader.read(mut body) or {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
h.free()
|
||||||
|
|
||||||
return http.Request{
|
return http.Request{
|
||||||
method: method
|
method: method
|
||||||
|
@ -298,6 +298,8 @@ pub fn run_app<T>(mut app T, port int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[manualfree]
|
||||||
fn handle_conn<T>(mut conn net.TcpConn, mut app T) {
|
fn handle_conn<T>(mut conn net.TcpConn, mut app T) {
|
||||||
conn.set_read_timeout(30 * time.second)
|
conn.set_read_timeout(30 * time.second)
|
||||||
conn.set_write_timeout(30 * time.second)
|
conn.set_write_timeout(30 * time.second)
|
||||||
|
Loading…
Reference in New Issue
Block a user