`Buffer<'_>` shouldn't be `Send`
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- rust
- Lĩnh vực
- computer-graphics, desktop-dev
Hướng nghiên cứu
Bắt đầu bằng cách theo dõi các API Buffer và Surface xung quanh next_buffer(), tập trung vào cách việc trình bày liên quan đến việc chuyển giao giữa các thread và việc khóa nền tảng. So sánh cơ sở lý luận cho Android trong softbuffer PR #331 và đánh giá hành vi Send và Sync hiện có; được xem là hoàn tất khi đạt được quyết định rõ ràng về hợp đồng an toàn luồng của Buffer và quyết định đó được ghi lại hoặc triển khai.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Android holds a lock on the buffer while it's in use, see https://github.com/rust-windowing/softbuffer/pull/331, and I'm experimenting a bit with a similar design on macOS (which is to say, I think it's a reasonable thing for our buffers to do).
MutexGuards are not Send though, which makes me wonder if this is sound?
Is there a use-case for Buffer<'_> being Send? As-in, is there ever a case where you would want to present on a different thread than the one that called next_buffer()? The problem wouldn't exist if you moved the entire Surface to a different thread.
I can see the argument for buffers being Sync though (&mut T is Sync), it could maybe make sense to pass the buffer to a scoped thread and render in that.
- Ngôn ngữ chính
- Rust
- Star
- 507
- Fork
- 85
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của rust-windowing/softbuffer
-
DS - X11
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
rust-windowing/softbuffer#368 ·
-
Needs Design Work
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
rust-windowing/softbuffer#342 · 1 bình luận ·
-
enhancement question
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
rust-windowing/softbuffer#338 ·
-
Zero-copying on AndroidCó thể đã có người làm @MarijnS95 đã nhận 251 ngày trước. Đang mởDS - Android NDK enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
rust-windowing/softbuffer#318 · 2 bình luận ·
-
DS - Wayland DS - X11 question
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
rust-windowing/softbuffer#306 · 2 bình luận ·
Tất cả issue của rust-windowing/softbuffer
Issue tương tự
-
bug user-priority/P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
t8y2/dbx#11718 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
rescript-lang/rescript#8765 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
nautechsystems/nautilus_trader#5287 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
farion1231/cc-switch#8072 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Python 3.15 supportCó thể đã có người làm @amnesiaof đã nhận hôm nay. Đang mởL: python L: python:uv
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
dependabot/dependabot-core#16524 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày