Skip to content
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

Closed
marijnh opened this issue Jun 15, 2011 · 2 comments
Closed

Find a solid way to pass span info around trans #492

marijnh opened this issue Jun 15, 2011 · 2 comments
Labels
C-cleanup Category: PRs that clean code up or issues documenting cleanup.

Comments

@marijnh
Copy link
Contributor

marijnh commented Jun 15, 2011

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.

@marijnh
Copy link
Contributor Author

marijnh commented Jun 15, 2011

For later reference, the commit that removes some of the span-replacement is 5fb518a

@marijnh
Copy link
Contributor Author

marijnh commented Jan 2, 2012

This is superseded by #1415

@marijnh marijnh closed this as completed Jan 2, 2012
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
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
Labels
C-cleanup Category: PRs that clean code up or issues documenting cleanup.
Projects
None yet
Development

No branches or pull requests

1 participant