refactor: improve create pattern to avoid leaks
This commit is contained in:
		
							parent
							
								
									de68c1a5d4
								
							
						
					
					
						commit
						efdad96054
					
				
					 46 changed files with 90 additions and 30 deletions
				
			
		| 
						 | 
				
			
			@ -263,6 +263,7 @@ const Process = struct {
 | 
			
		|||
    fn create() SpawnError!tp.pid {
 | 
			
		||||
        const allocator = std.heap.c_allocator;
 | 
			
		||||
        const self = try allocator.create(Process);
 | 
			
		||||
        errdefer allocator.destroy(self);
 | 
			
		||||
        self.* = .{
 | 
			
		||||
            .allocator = allocator,
 | 
			
		||||
            .parent = tp.self_pid().clone(),
 | 
			
		||||
| 
						 | 
				
			
			@ -755,6 +756,7 @@ fn request_path_files_async(a_: std.mem.Allocator, parent_: tp.pid_ref, project_
 | 
			
		|||
 | 
			
		||||
        fn spawn_link(allocator: std.mem.Allocator, parent: tp.pid_ref, project: *Project, max: usize, path: []const u8) (SpawnError || std.fs.Dir.OpenError)!void {
 | 
			
		||||
            const self = try allocator.create(path_files);
 | 
			
		||||
            errdefer allocator.destroy(self);
 | 
			
		||||
            self.* = .{
 | 
			
		||||
                .allocator = allocator,
 | 
			
		||||
                .project_name = try allocator.dupe(u8, project.name),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue