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