mirror of
https://github.com/ziglang/zig.git
synced 2026-02-15 13:58:27 +00:00
std.os reorg: regression fixes to stack_t, and std.Thread
This commit is contained in:
parent
1a492d5156
commit
0932b0d9b3
@ -558,7 +558,7 @@ const PosixThreadImpl = struct {
|
||||
.openbsd => {
|
||||
var count: c_int = undefined;
|
||||
var count_size: usize = @sizeOf(c_int);
|
||||
const mib = [_]c_int{ os.CTL.HW, os.HW_NCPUONLINE };
|
||||
const mib = [_]c_int{ os.CTL.HW, os.system.HW_NCPUONLINE };
|
||||
os.sysctl(&mib, &count, &count_size, null, 0) catch |err| switch (err) {
|
||||
error.NameTooLong, error.UnknownName => unreachable,
|
||||
else => |e| return e,
|
||||
|
||||
@ -1436,9 +1436,9 @@ pub const SS_ONSTACK = 1;
|
||||
pub const SS_DISABLE = 4;
|
||||
|
||||
pub const stack_t = extern struct {
|
||||
ss_sp: [*]u8,
|
||||
ss_size: isize,
|
||||
ss_flags: i32,
|
||||
sp: [*]u8,
|
||||
size: isize,
|
||||
flags: i32,
|
||||
};
|
||||
|
||||
pub const S = struct {
|
||||
|
||||
@ -547,9 +547,9 @@ pub const NOTE_FFCOPY = 3221225472;
|
||||
pub const NOTE_PCTRLMASK = 4026531840;
|
||||
|
||||
pub const stack_t = extern struct {
|
||||
ss_sp: [*]u8,
|
||||
ss_size: isize,
|
||||
ss_flags: i32,
|
||||
sp: [*]u8,
|
||||
size: isize,
|
||||
flags: i32,
|
||||
};
|
||||
|
||||
pub const S = struct {
|
||||
|
||||
@ -1006,9 +1006,9 @@ pub const SS_ONSTACK = 1;
|
||||
pub const SS_DISABLE = 4;
|
||||
|
||||
pub const stack_t = extern struct {
|
||||
ss_sp: [*]u8,
|
||||
ss_size: isize,
|
||||
ss_flags: i32,
|
||||
sp: [*]u8,
|
||||
size: isize,
|
||||
flags: i32,
|
||||
};
|
||||
|
||||
pub const S = struct {
|
||||
|
||||
@ -1039,9 +1039,11 @@ pub const mcontext_t = extern struct {
|
||||
fpregs: [512]u8 align(8),
|
||||
};
|
||||
|
||||
pub const REG_RBP = 12;
|
||||
pub const REG_RIP = 21;
|
||||
pub const REG_RSP = 24;
|
||||
pub const REG = struct {
|
||||
pub const RBP = 12;
|
||||
pub const RIP = 21;
|
||||
pub const RSP = 24;
|
||||
};
|
||||
|
||||
pub const ucontext_t = extern struct {
|
||||
flags: u32,
|
||||
@ -1206,9 +1208,9 @@ pub const SS_ONSTACK = 1;
|
||||
pub const SS_DISABLE = 4;
|
||||
|
||||
pub const stack_t = extern struct {
|
||||
ss_sp: [*]u8,
|
||||
ss_size: isize,
|
||||
ss_flags: i32,
|
||||
sp: [*]u8,
|
||||
size: isize,
|
||||
flags: i32,
|
||||
};
|
||||
|
||||
pub const S = struct {
|
||||
|
||||
@ -1007,9 +1007,9 @@ pub const SS_ONSTACK = 0x0001;
|
||||
pub const SS_DISABLE = 0x0004;
|
||||
|
||||
pub const stack_t = extern struct {
|
||||
ss_sp: [*]u8,
|
||||
ss_size: usize,
|
||||
ss_flags: c_int,
|
||||
sp: [*]u8,
|
||||
size: usize,
|
||||
flags: c_int,
|
||||
};
|
||||
|
||||
pub const S = struct {
|
||||
|
||||
@ -3080,15 +3080,15 @@ pub const SS_AUTODISARM = 1 << 31;
|
||||
pub const stack_t = if (is_mips)
|
||||
// IRIX compatible stack_t
|
||||
extern struct {
|
||||
ss_sp: [*]u8,
|
||||
ss_size: usize,
|
||||
ss_flags: i32,
|
||||
sp: [*]u8,
|
||||
size: usize,
|
||||
flags: i32,
|
||||
}
|
||||
else
|
||||
extern struct {
|
||||
ss_sp: [*]u8,
|
||||
ss_flags: i32,
|
||||
ss_size: usize,
|
||||
sp: [*]u8,
|
||||
flags: i32,
|
||||
size: usize,
|
||||
};
|
||||
|
||||
pub const sigval = extern union {
|
||||
|
||||
@ -394,8 +394,8 @@ test "sigaltstack" {
|
||||
var st: os.stack_t = undefined;
|
||||
try os.sigaltstack(null, &st);
|
||||
// Setting a stack size less than MINSIGSTKSZ returns ENOMEM
|
||||
st.ss_flags = 0;
|
||||
st.ss_size = 1;
|
||||
st.flags = 0;
|
||||
st.size = 1;
|
||||
try testing.expectError(error.SizeTooSmall, os.sigaltstack(&st, null));
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user