New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
netbsd/openbsd adding more accessors to siginfo_t. #3400
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -540,12 +540,46 @@ impl siginfo_t { | |
self.si_addr | ||
} | ||
|
||
pub unsafe fn si_value(&self) -> ::sigval { | ||
pub unsafe fn si_code(&self) -> ::c_int { | ||
self.si_code | ||
} | ||
|
||
pub unsafe fn si_errno(&self) -> ::c_int { | ||
self.si_errno | ||
} | ||
|
||
pub unsafe fn si_pid(&self) -> ::pid_t { | ||
#[repr(C)] | ||
struct siginfo_timer { | ||
_si_signo: ::c_int, | ||
_si_code: ::c_int, | ||
_si_errno: ::c_int, | ||
_pad: [::c_int; SI_PAD], | ||
_pid: ::pid_t, | ||
} | ||
(*(self as *const siginfo_t as *const siginfo_timer))._pid | ||
} | ||
|
||
pub unsafe fn si_uid(&self) -> ::uid_t { | ||
#[repr(C)] | ||
struct siginfo_timer { | ||
_si_signo: ::c_int, | ||
_si_code: ::c_int, | ||
_si_errno: ::c_int, | ||
_pad: [::c_int; SI_PAD], | ||
_pid: ::pid_t, | ||
_uid: ::uid_t, | ||
} | ||
(*(self as *const siginfo_t as *const siginfo_timer))._uid | ||
} | ||
|
||
pub unsafe fn si_value(&self) -> ::sigval { | ||
#[repr(C)] | ||
struct siginfo_timer { | ||
_si_signo: ::c_int, | ||
_si_code: ::c_int, | ||
_si_errno: ::c_int, | ||
_pad: [::c_int; SI_PAD], | ||
_pid: ::pid_t, | ||
_uid: ::uid_t, | ||
value: ::sigval, | ||
|
@@ -1576,6 +1610,9 @@ pub const NTFS_MFLAG_ALLNAMES: ::c_int = 0x2; | |
|
||
pub const TMPFS_ARGS_VERSION: ::c_int = 1; | ||
|
||
const SI_MAXSZ: ::size_t = 128; | ||
const SI_PAD: ::size_t = (SI_MAXSZ / ::mem::size_of::<::c_int>()) - 3; | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would not make them public: there are not used outside the struct definition anywhere inside OpenBSD tree. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmmm I would object at least for SI_PAD don't you think ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it is simpler to make it public if need than to hide it later. but even in C, it wouldn't be needed: it is the size of the padding. here, the "struct" is hidden inside a function. so for me there is really no point to have it public (even if it isn't wrong per se). it is just an internal, or an implementation detail. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. good point about the struct being within these accessors, ok I ll commit new change. |
||
pub const MAP_STACK: ::c_int = 0x4000; | ||
pub const MAP_CONCEAL: ::c_int = 0x8000; | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unrelated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes but the test does not pass for me if I don t change it.