| 1069 | |
| 1070 | #[cfg(not(target_vendor = "apple"))] |
| 1071 | fn mknod(self, vm: &VirtualMachine) -> PyResult<()> { |
| 1072 | let ret = match self.dir_fd.raw_opt() { |
| 1073 | None => self._mknod(vm)?, |
| 1074 | Some(non_default_fd) => unsafe { |
| 1075 | libc::mknodat( |
| 1076 | non_default_fd, |
| 1077 | self.path.clone().into_cstring(vm)?.as_ptr(), |
| 1078 | self.mode, |
| 1079 | self.device, |
| 1080 | ) |
| 1081 | }, |
| 1082 | }; |
| 1083 | if ret != 0 { |
| 1084 | Err(vm.new_last_errno_error()) |
| 1085 | } else { |
| 1086 | Ok(()) |
| 1087 | } |
| 1088 | } |
| 1089 | |
| 1090 | #[cfg(target_vendor = "apple")] |
| 1091 | fn mknod(self, vm: &VirtualMachine) -> PyResult<()> { |