Commit 65d04cbeb4

Andrew Kelley <superjoe30@gmail.com>
2018-06-16 23:27:45
std.DynLib: open the fd with CLOEXEC
1 parent 48de57d
Changed files (2)
std/math/index.zig
@@ -538,7 +538,7 @@ test "math.cast" {
 
 pub const AlignCastError = error{UnalignedMemory};
 
-/// Align cast a pointer but return an error if it's the wrong field
+/// Align cast a pointer but return an error if it's the wrong alignment
 pub fn alignCast(comptime alignment: u29, ptr: var) AlignCastError!@typeOf(@alignCast(alignment, ptr)) {
     const addr = @ptrToInt(ptr);
     if (addr % alignment != 0) {
std/dynamic_library.zig
@@ -11,14 +11,9 @@ pub const DynLib = struct {
     map_addr: usize,
     map_size: usize,
 
-    /// Trusts the file
-    pub fn findAndOpen(allocator: *mem.Allocator, name: []const u8) !DynLib {
-        return open(allocator, name);
-    }
-
     /// Trusts the file
     pub fn open(allocator: *mem.Allocator, path: []const u8) !DynLib {
-        const fd = try std.os.posixOpen(allocator, path, 0, linux.O_RDONLY);
+        const fd = try std.os.posixOpen(allocator, path, 0, linux.O_RDONLY | linux.O_CLOEXEC);
         errdefer std.os.close(fd);
 
         const size = usize((try std.os.posixFStat(fd)).size);