Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Jaeger-Agent] Use RawConn.Control to get fd instead of Fd() (#4449)
<!-- Please delete this comment before posting. We appreciate your contribution to the Jaeger project! ππ Before creating a pull request, please make sure: - Your PR is solving one problem - You have read the guide for contributing - See https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING.md - You signed all your commits (otherwise we won't be able to merge the PR) - See https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md#certificate-of-origin---sign-your-work - You added unit tests for the new functionality - You mention in the PR description which issue it is addressing, e.g. "Resolves #123" --> ## Which problem is this PR solving? Resolves #4448 ## Short description of the changes Jaeger agent gets stuck when closing with SocketBufferSize set. This is because `Close()` of `net.UDPConn` will be blocked if `Fd()` is used to get the file descriptor. Use `RawConn.Control` instead to get fd to set the socket buffer. Same issue was discussed here: golang/go#29277 The fix refers to here: brucespang/go-tcpinfo#3 Signed-off-by: Chen Xu <[email protected]>
- Loading branch information