autofree: free global map consts and some vweb fixes
parent
b4f7a975e8
commit
091a1bab27
|
@ -325,6 +325,12 @@ mut:
|
|||
data map[string][]string
|
||||
}
|
||||
|
||||
pub fn (mut h Header) free() {
|
||||
unsafe {
|
||||
h.data.free()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct HeaderConfig {
|
||||
key CommonHeader
|
||||
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 {
|
||||
sym := g.table.get_type_symbol(typ)
|
||||
if styp.starts_with('Array_') {
|
||||
g.cleanups[mod].writeln('\tarray_free(&$cname);')
|
||||
}
|
||||
if styp == 'string' {
|
||||
else if styp == 'string' {
|
||||
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 {}
|
||||
}
|
||||
}
|
||||
h.free()
|
||||
|
||||
return http.Request{
|
||||
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) {
|
||||
conn.set_read_timeout(30 * time.second)
|
||||
conn.set_write_timeout(30 * time.second)
|
||||
|
|
Loading…
Reference in New Issue