mirror of
https://gitee.com/johng/gf
synced 2026-06-06 02:25:47 +08:00
fix concurrent issue in buffer handling of package grand
This commit is contained in:
@ -2,47 +2,11 @@ package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
)
|
||||
|
||||
func getMacAddrs() (macAddrs []string) {
|
||||
netInterfaces, err := net.Interfaces()
|
||||
if err != nil {
|
||||
fmt.Printf("fail to get net interfaces: %v", err)
|
||||
return macAddrs
|
||||
}
|
||||
|
||||
for _, netInterface := range netInterfaces {
|
||||
macAddr := netInterface.HardwareAddr.String()
|
||||
if len(macAddr) == 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
macAddrs = append(macAddrs, macAddr)
|
||||
}
|
||||
return macAddrs
|
||||
}
|
||||
|
||||
func getIPs() (ips []string) {
|
||||
|
||||
interfaceAddr, err := net.InterfaceAddrs()
|
||||
if err != nil {
|
||||
fmt.Printf("fail to get net interface addrs: %v", err)
|
||||
return ips
|
||||
}
|
||||
|
||||
for _, address := range interfaceAddr {
|
||||
ipNet, isValidIpNet := address.(*net.IPNet)
|
||||
if isValidIpNet && !ipNet.IP.IsLoopback() {
|
||||
if ipNet.IP.To4() != nil {
|
||||
ips = append(ips, ipNet.IP.String())
|
||||
}
|
||||
}
|
||||
}
|
||||
return ips
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Printf("mac addrs: %q\n", getMacAddrs())
|
||||
fmt.Printf("ips: %q\n", getIPs())
|
||||
b1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
|
||||
b2 := b1[:2]
|
||||
b1[0] = 9
|
||||
fmt.Println(b2)
|
||||
}
|
||||
|
||||
@ -35,7 +35,9 @@ func asyncProducingRandomBufferBytesLoop() {
|
||||
panic(err)
|
||||
} else {
|
||||
for i := 0; i < n-4; i += 4 {
|
||||
bufferChan <- buffer[i : i+4]
|
||||
b := make([]byte, 4)
|
||||
copy(b, buffer[i:i+4])
|
||||
bufferChan <- b
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user