-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Find a solid way to pass span info around trans #492
Labels
C-cleanup
Category: PRs that clean code up or issues documenting cleanup.
Comments
For later reference, the commit that removes some of the span-replacement is 5fb518a |
This is superseded by #1415 |
keeperofdakeys
pushed a commit
to keeperofdakeys/rust
that referenced
this issue
Dec 12, 2017
Add MSG_PEEK socket flag #### MSG_PEEK This PR exposes a cross-platform `MSG_PEEK` flag that a user may pass into the `flags` parameter for `recv()`, `recvfrom()`, or `recvmsg()` calls. ``` MSG_PEEK This flag causes the receive operation to return data from the beginning of the receive queue without removing that data from the queue. Thus, a subsequent receive call will return the same data. ``` In short, users may call `recv()` to "peek" at new data (or a message) without consuming it. Recall that in the normal case, calls to `recv()` consume the data from the socket's receive queue, making it unavailable to future calls. #### Motivation This change enables `libc` users, such as the rust standard library, to potentially add peeking functionality to TCP and UDP implementations, like `TcpStream` and `UdpSocket`, without being concerned about the highly platform-dependent nature of the flags. (In this case, the flag's value `0x2` is very consistent, but that is not the case for many of the `MSG_*` flags. It makes sense to keep these differences confined to `libc`) #### Reference [bsd/apple: socket.h](https://opensource.apple.com/source/xnu/xnu-2050.7.9/bsd/sys/socket.h) [bsd/freebsdlike/freebsd: socket.h](https://github.com/freebsd/freebsd/blob/master/sys/sys/socket.h#L418) [bsd/freebsdlike/dragonfly: socket.h](https://github.com/DragonFlyBSD/DragonFlyBSD/blob/1f249c981c4e89e7cde1836a75b61cac36dc7ac5/sys/sys/socket.h#L367) [bsd/netbsdlike: socket.h](https://github.com/IIJ-NetBSD/netbsd-src/blob/af5d253140491f2d1816c59ecb8a4d8a8d927688/sys/sys/socket.h#L517) [unix/haiku: socket.h](https://github.com/haiku/haiku/blob/b65adbdfbc322bb7d86d74049389c688e9962f15/headers/posix/sys/socket.h#L114) [unix/notbsd/linux: socket.h](https://github.com/torvalds/linux/blob/5924bbecd0267d87c24110cbe2041b5075173a25/include/linux/socket.h#L264) [unix/notbsd/android: socket.h](https://android.googlesource.com/platform/development/+/73a5a3baaa5089f1ab2049e5934fa5d8a3f3e76a/ndk/platforms/android-20/include/sys/socket.h#229)
pdietl
pushed a commit
to pdietl/rust
that referenced
this issue
Apr 23, 2020
Document underscore imports.
ZuseZ4
pushed a commit
to EnzymeAD/rust
that referenced
this issue
Mar 7, 2023
* Enable openmpopt * build omp only on 13+ * Add attributor post openmpopt * Add OpenMPOpt Co-authored-by: Ubuntu <[email protected]>
celinval
pushed a commit
to celinval/rust-dev
that referenced
this issue
Jun 4, 2024
* Add unwind flags to examples not terminating * Reduce unwind values, add newlines
GuillaumeGomez
pushed a commit
to GuillaumeGomez/rust
that referenced
this issue
Jul 10, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The current approach (8cbdaf4) puts a span in the block_ctxt record, probably because that's already being passed around. The two have very little to do with each other though, and the re-creating of block contexts makes it very easy to accidentally drop cleanups. In my upcoming patch, I am removing a few instances of code writing to an immutable box (which is currently not checked but about to become checked). We could make all boxes of block contexts mutable, but that's ugly and doesn't solve the underlying problem -- there is no single span associated with a block context.
So probably we'll have to pass spans around separately in a lot of places.
The text was updated successfully, but these errors were encountered: