@@ -430,7 +430,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
430
430
events_op : & OpTy < ' tcx > ,
431
431
maxevents : & OpTy < ' tcx > ,
432
432
timeout : & OpTy < ' tcx > ,
433
- dest : MPlaceTy < ' tcx > ,
433
+ dest : & MPlaceTy < ' tcx > ,
434
434
) -> InterpResult < ' tcx > {
435
435
let this = self . eval_context_mut ( ) ;
436
436
@@ -442,7 +442,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
442
442
if epfd_value <= 0 || maxevents <= 0 {
443
443
let einval = this. eval_libc ( "EINVAL" ) ;
444
444
this. set_last_error ( einval) ?;
445
- this. write_int ( -1 , & dest) ?;
445
+ this. write_int ( -1 , dest) ?;
446
446
return Ok ( ( ) ) ;
447
447
}
448
448
@@ -455,7 +455,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
455
455
456
456
let Some ( epfd) = this. machine . fds . get ( epfd_value) else {
457
457
let result_value: i32 = this. fd_not_found ( ) ?;
458
- this. write_int ( result_value, & dest) ?;
458
+ this. write_int ( result_value, dest) ?;
459
459
return Ok ( ( ) ) ;
460
460
} ;
461
461
// Create a weak ref of epfd and pass it to callback so we will make sure that epfd
@@ -476,7 +476,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
476
476
}
477
477
if timeout == 0 || !ready_list_empty {
478
478
// If the ready list is not empty, or the timeout is 0, we can return immediately.
479
- this. blocking_epoll_callback ( epfd_value, weak_epfd, & dest, & event) ?;
479
+ this. blocking_epoll_callback ( epfd_value, weak_epfd, dest, & event) ?;
480
480
} else {
481
481
// Blocking
482
482
let timeout = match timeout {
@@ -492,6 +492,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
492
492
}
493
493
} ;
494
494
thread_ids. push ( this. active_thread ( ) ) ;
495
+ let dest = dest. clone ( ) ;
495
496
this. block_thread (
496
497
BlockReason :: Epoll ,
497
498
timeout,
0 commit comments