(mask: &libc::sigset_t, vm: &VirtualMachine)
| 609 | |
| 610 | #[cfg(unix)] |
| 611 | fn sigset_to_pyset(mask: &libc::sigset_t, vm: &VirtualMachine) -> PyResult { |
| 612 | use crate::PyPayload; |
| 613 | use crate::builtins::PySet; |
| 614 | let set = PySet::default().into_ref(&vm.ctx); |
| 615 | for signum in 1..signal::NSIG { |
| 616 | // SAFETY: mask is a valid sigset_t |
| 617 | if unsafe { libc::sigismember(mask, signum as i32) } == 1 { |
| 618 | set.add(vm.ctx.new_int(signum as i32).into(), vm)?; |
| 619 | } |
| 620 | } |
| 621 | Ok(set.into()) |
| 622 | } |
| 623 | |
| 624 | #[cfg(unix)] |
| 625 | #[pyfunction] |
no test coverage detected