https://play.golang.org/p/mr58JS4WsJV

Okay, I realize now that I didn't do a very good job in my first post of 
explaining my problem, so I'll trying again.  In the above code I need to 
signal(sigint or sigterm) the exec.CommandContext on line 69 that is 
blocking so it will stop and finish the goroutine.  The goal behind the 
code is to set a record duration and then stop the blocking command after 
the record timer has been met and exit the goroutine normally.  So far I 
haven't been able to figure out how to signal the command to stop.  I have 
two tuners that can be recording a the same time, so I need them running in 
goroutines so the main thread can do other things.  I read through the 
context package that you recommended, but still can't get it to work. 

Thanks

On Wednesday, August 8, 2018 at 12:20:11 AM UTC-4, Ian Lance Taylor wrote:
>
> On Tue, Aug 7, 2018 at 7:02 PM,  <natea...@gmail.com <javascript:>> 
> wrote: 
> > 
> > https://play.golang.org/p/d5n9bYmya3r 
> > 
> > I'm new to the go language and trying to figure out how to sigint a 
> blocking 
> > goroutine.  in the playground code I included an infinite for loop to 
> > simulate the blocking. In my real world use the for block would be a 
> long 
> > running file save from an external device.  I appreciate any advice or 
> > direction that is given. 
>
> I'm not sure quite what you mean, but in general you can not send a 
> signal to a goroutine in Go.  Goroutines are not threads.  If you want 
> a goroutine to be interruptible, you must write the goroutine to check 
> whether something is trying to interrupt it; the standard library's 
> "context" package is often used for this purpose. 
>
> Ian 
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to