zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 65d04cbeb42318c66313346bb88999aee17f856f (tree)
parent 48de57d8248d9203b44d28d7749b5d7c1a00deba
Author: Andrew Kelley <superjoe30@gmail.com>
Date:   Sat, 16 Jun 2018 17:27:45 -0400

std.DynLib: open the fd with CLOEXEC

Diffstat:
Mstd/dynamic_library.zig | 7+------
Mstd/math/index.zig | 2+-
2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/std/dynamic_library.zig b/std/dynamic_library.zig @@ -12,13 +12,8 @@ pub const DynLib = struct { 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); diff --git a/std/math/index.zig b/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) {