Merge pull request #4955 from wisonye/master

Fixed #4892: 'EPoll_Event.events' should be bit set.
This commit is contained in:
Laytan
2025-03-22 12:59:32 +01:00
committed by GitHub
2 changed files with 22 additions and 16 deletions
+21 -15
View File
@@ -1,5 +1,10 @@
package linux package linux
import "base:intrinsics"
@(private)
log2 :: intrinsics.constant_log2
/* /*
Represents an error returned by most of syscalls Represents an error returned by most of syscalls
@@ -1839,22 +1844,23 @@ EPoll_Flags_Bits :: enum {
} }
EPoll_Event_Kind :: enum u32 { EPoll_Event_Kind :: enum u32 {
IN = 0x001, IN = log2(0x001),
PRI = 0x002, PRI = log2(0x002),
OUT = 0x004, OUT = log2(0x004),
RDNORM = 0x040, RDNORM = log2(0x040),
RDBAND = 0x080, RDBAND = log2(0x080),
WRNORM = 0x100, WRNORM = log2(0x100),
WRBAND = 0x200, WRBAND = log2(0x200),
MSG = 0x400, MSG = log2(0x400),
ERR = 0x008, ERR = log2(0x008),
HUP = 0x010, HUP = log2(0x010),
RDHUP = 0x2000, RDHUP = log2(0x2000),
EXCLUSIVE = 1<<28, EXCLUSIVE = log2(1<<28),
WAKEUP = 1<<29, WAKEUP = log2(1<<29),
ONESHOT = 1<<30, ONESHOT = log2(1<<30),
ET = 1<<31, ET = log2(1<<31),
} }
EPoll_Event_Set :: bit_set[EPoll_Event_Kind; u32]
EPoll_Ctl_Opcode :: enum i32 { EPoll_Ctl_Opcode :: enum i32 {
ADD = 1, ADD = 1,
+1 -1
View File
@@ -1450,7 +1450,7 @@ EPoll_Data :: struct #raw_union {
} }
EPoll_Event :: struct #packed { EPoll_Event :: struct #packed {
events: EPoll_Event_Kind, events: EPoll_Event_Set,
data: EPoll_Data, data: EPoll_Data,
} }