https://go.dev/issue/40221

- sean

On Sat, Sep 3, 2022, 16:56 Alex Besogonov <alex.besogo...@gmail.com> wrote:

> Hi!
>
> Let me give you some context. context.Context in Go serves two main
> purposes:
> 1. Cancellation and timeout support.
> 2. A carrier of values, as a de-facto replacement for thread-local
> variables.
>
> I have a problem with the first item. Cancellation and timeouts
> automatically propagate to child contexts, which is usually a good thing.
> However, sometimes it would be nice to be able to create child contexts
> that share only values but not the timeout/cancellation.
>
> Typically it's needed if the code wants to start a background goroutine to
> do some work. E.g. in pseudocode:
>
> func StartConnection(ctx context.Context, addr string) (err error) {
>   conn, err = net.DialWithContext(ctx, addr)
>   if err != nil { return err; }
>   go heartbeatFunc(ctx, conn);
> ...
> }
>
> Right now it's not possible to do that cleanly. The only way is to create
> a brand new context and copy all the needed values. Which requires the code
> to know which values might be needed.
>
> Is there an interest in proposal to add this functionality? It can look
> like another method: `context.Detached(ctx context.Context)` that simply
> does not add it to the parent cancellation tree.
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/26f54d88-e475-413e-84f0-9076f5aaba28n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/26f54d88-e475-413e-84f0-9076f5aaba28n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAGabyPpSEUDTucnfuYNQ68FpwnVFnMTWefL-z4_Kq-ABDtR_LA%40mail.gmail.com.

Reply via email to