diff --git a/rust-version b/rust-version index 9600195a6a..60ae5d1259 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -f1a5ce19f5aa0cf61ed7b9f75b30e610befeed72 +2e4e2a8f288f642cafcc41fff211955ceddc453d diff --git a/src/shims/windows/foreign_items.rs b/src/shims/windows/foreign_items.rs index 4ad44adff0..bddc30b837 100644 --- a/src/shims/windows/foreign_items.rs +++ b/src/shims/windows/foreign_items.rs @@ -272,6 +272,18 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> { this.Sleep(timeout)?; } + "CreateWaitableTimerExW" => { + let [attributes, name, flags, access] = + this.check_shim(abi, Abi::System { unwind: false }, link_name, args)?; + this.read_pointer(attributes)?; + this.read_pointer(name)?; + this.read_scalar(flags)?.to_u32()?; + this.read_scalar(access)?.to_u32()?; + // Unimplemented. Always return failure. + let not_supported = this.eval_windows("c", "ERROR_NOT_SUPPORTED"); + this.set_last_error(not_supported)?; + this.write_null(dest)?; + } // Synchronization primitives "AcquireSRWLockExclusive" => {