Skip to content

Rollup of 5 pull requests #131288

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

Merged
merged 35 commits into from
Oct 5, 2024
Merged
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
df6c27d
Refactor return_read_bytes_and_count and return_written_byte_count_or…
tiif Sep 30, 2024
c37539d
Auto merge of #3923 - tiif:refactor, r=RalfJung
bors Oct 1, 2024
88c7452
move io error handling helpers to their own file
RalfJung Oct 1, 2024
9c21fd4
make set_last_error directly callable on a bunch of ways to represent…
RalfJung Oct 1, 2024
4f4e1d4
add set_last_error_and_return_i32 helper and use it in a few places
RalfJung Oct 1, 2024
97510cd
Auto merge of #3929 - RalfJung:io-error, r=RalfJung
bors Oct 1, 2024
c1acccd
std: replace `LazyBox` with `OnceBox`
joboet Oct 1, 2024
3e089b0
epoll: add data_race test
FrankReh Oct 2, 2024
1b622f4
epoll: remove unnecessary instructions
FrankReh Oct 2, 2024
86bb137
epoll: add vector clock to the epoll ready_list
FrankReh Oct 2, 2024
81202c8
epoll: remove extraneous clone of ready_list
FrankReh Oct 2, 2024
52aa98a
Auto merge of #3932 - rust-lang:epoll-with-vector-clock, r=oli-obk
bors Oct 2, 2024
be819d4
Preparing for merge from rustc
RalfJung Oct 3, 2024
6280e26
Merge from rustc
RalfJung Oct 3, 2024
32d4968
fmt
RalfJung Oct 3, 2024
9b35886
make sure we also detect mixed-size races that begin at different add…
RalfJung Oct 3, 2024
bf71d65
Auto merge of #3935 - RalfJung:rustup, r=RalfJung
bors Oct 3, 2024
d19bd66
Preparing for merge from rustc
Oct 4, 2024
7014ae8
Merge from rustc
Oct 4, 2024
dc88a6a
clippy
RalfJung Oct 4, 2024
6602a23
Auto merge of #3938 - rust-lang:rustup-2024-10-04, r=RalfJung
bors Oct 4, 2024
d00b754
Implement LLVM x86 gfni intrinsics
TDecking Sep 17, 2024
f7400c3
Auto merge of #3895 - TDecking:gfni, r=RalfJung
bors Oct 4, 2024
f46e162
Prefer refutable slice patterns over len check + index op
oli-obk Oct 4, 2024
05f7b09
remove outdated contribution direction
onur-ozkan Oct 5, 2024
d0e6758
Stabilize `const_slice_split_at_mut` and `const_slice_first_last_chunk`
onestacked Sep 29, 2024
0cd0f7c
move f16/f128 const fn under f16/f128 feature gate
RalfJung Oct 4, 2024
1553805
pthread mutex: better error in reentrant-locking-UB, also test PTHREA…
RalfJung Oct 5, 2024
eb97047
Auto merge of #3943 - RalfJung:pthread-mutex-reentrant, r=RalfJung
bors Oct 5, 2024
3b418b1
Auto merge of #3940 - rust-lang:refutable_slice, r=RalfJung
bors Oct 5, 2024
386a0ba
Rollup merge of #130428 - ink-feather-org:stabilize-const-split-at-mu…
matthiaskrgr Oct 5, 2024
92beb42
Rollup merge of #131094 - joboet:lazy_once_box, r=ibraheemdev
matthiaskrgr Oct 5, 2024
cb5bb13
Rollup merge of #131256 - RalfJung:f16-f128-const, r=ibraheemdev
matthiaskrgr Oct 5, 2024
1bd61bb
Rollup merge of #131278 - onur-ozkan:update-outdated-doc, r=Kobzol
matthiaskrgr Oct 5, 2024
72acacf
Rollup merge of #131286 - RalfJung:miri-sync, r=RalfJung
matthiaskrgr Oct 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
epoll: remove extraneous clone of ready_list
A simplification that doesn't impact the epoll implementation's logic.

It is not necessary to clone the ready_list before reading its
`is_empty` state.

This avoids the clone step but more importantly avoids the invisible
drop step of the clone.
FrankReh authored and oli-obk committed Oct 2, 2024
commit 81202c8b13c6ff64c14fd740757ba3e283adfec7
3 changes: 1 addition & 2 deletions src/tools/miri/src/shims/unix/linux/epoll.rs
Original file line number Diff line number Diff line change
@@ -475,8 +475,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
let epoll_file_description = epfd
.downcast::<Epoll>()
.ok_or_else(|| err_unsup_format!("non-epoll FD passed to `epoll_wait`"))?;
let binding = epoll_file_description.get_ready_list();
ready_list_empty = binding.mapping.borrow_mut().is_empty();
ready_list_empty = epoll_file_description.ready_list.mapping.borrow().is_empty();
thread_ids = epoll_file_description.thread_id.borrow_mut();
}
if timeout == 0 || !ready_list_empty {