Thanks all for replying. I will look into what solution would work best and get back.
Zhipeng, I cannot add a sleep inside the for loop because the loop is sending network packets as fast as possible. Best, Hemant On Monday, February 18, 2019 at 1:41:16 AM UTC-5, Zhipeng Wang wrote: > > I have make a test in version go1.11.4 windows/amd64: > > > func main() { > > const SZ = 65536 > var time_array [SZ]float64 > > c := make(chan os.Signal) > signal.Notify(c, os.Interrupt, syscall.SIGTERM) > > go func() { > <-c > fmt.Printf("You pressed ctrl + C. User interrupted infinite loop.") > fmt.Printf("%v ", time_array); // <=== all zeroes printed. > os.Exit(0) > }() > > > i := 0 > for i < SZ { > time_array[i] = 1 > fmt.Printf("%f bps ", time_array[i]) //<=== value printed is correct. > time.Sleep(time.Second * 1) > i++ > } > } > > > the result is : > > > 1.000000 bps 1.000000 bps 1.000000 bps 1.000000 bps 1.000000 bps 1.000000 bps > 1.000000 bps 1.000000 bps 1.000000 bps You pressed ctrl + C. User interrupted > infinite loop.[1 1 1 1 1 1 > 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...0] > > > so, I think that others wrong in your code. > > > > 在 2019年2月16日星期六 UTC+8下午10:29:45,Hemant Singh写道: >> >> I have the following program. The program is processing network packets >> at 1 Gbps rate. I don't want to print the rate for every packet. Instead, >> I'd like to save the rate in an array and dump the array on Ctrl-c of the >> program. When I dump the array on Ctrl-c, the data is all zeroes. Please >> see "<===" in the program below. Anything else one could do? >> >> Thanks. >> >> -Hemant >> >> func main() { >> >> const SZ = 65536 >> var time_array [SZ]float64 >> >> c := make(chan os.Signal) >> signal.Notify(c, os.Interrupt, syscall.SIGTERM) >> >> go func() { >> <-c >> fmt.Printf("You pressed ctrl + C. User interrupted infinite loop.") >> fmt.Printf("%v ", time_array); <=== all zeroes printed. >> os.Exit(0) >> }() >> >> >> i := 0 >> for { >> ... >> time_array[i] = rate >> fmt.Printf("%f bps ", rate) <=== value printed is correct. >> i++ >> } >> } >> >> -- 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.