zhangmeng
2019-08-26 b6d2aeec8bd849c70028c01943968eba26474ea4
update shm
4个文件已修改
46 ■■■■ 已修改文件
go.mod 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.sum 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
profile/shmrecv.go 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
profile/shmsend.go 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.mod
@@ -3,6 +3,7 @@
go 1.12
require (
    basic.com/valib/shm.git v0.0.0-20190826054634-a0123f163edd
    github.com/gorilla/websocket v1.4.1 // indirect
    golang.org/x/sys v0.0.0-20190825160603-fb81701db80f
    nanomsg.org/go-mangos v1.4.0
go.sum
@@ -1,3 +1,5 @@
basic.com/valib/shm.git v0.0.0-20190826054634-a0123f163edd h1:hRQzhw2zyfLY9vdbuv/dw92BVjax8xx9fFeNBu4U9/U=
basic.com/valib/shm.git v0.0.0-20190826054634-a0123f163edd/go.mod h1:yYRM7bM9y0KKd4IfNt3myjsvkFVFIIWNjsvK14tNbq4=
github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
golang.org/x/sys v0.0.0-20190825160603-fb81701db80f h1:LCxigP8q3fPRGNVYndYsyHnF0zRrvcoVwZMfb8iQZe4=
profile/shmrecv.go
@@ -24,8 +24,23 @@
        default:
            msg, err = c.Recv()
            if err != nil {
                c.Close()
                url := "hello"
                i, err := deliver.NewClientWithError(deliver.Shm, url)
                for {
                    if err == nil {
                        break
                    }
                    time.Sleep(1 * time.Second)
                    i, err = deliver.NewClientWithError(deliver.Shm, url)
                    fmt.Println("client create failed : ", err)
                }
                c = i
                fmt.Println("recv error : ", err)
                return
                continue
            }
            if ch != nil {
                ch <- true
@@ -67,7 +82,9 @@
        go shmrecver(ctx, s, 0, nil)
    } else {
        // recvers(ctx, ipc, count, nil)
        recvers(ctx, ipc, count, nil)
        return
        chWaiter := make(chan bool, count)
        cs := recvers(ctx, ipc, count, chWaiter)
@@ -85,10 +102,10 @@
                        for _, v := range cs {
                            v.Close()
                        }
                        cs = recvers(ctx, ipc, count, chWaiter)
                        fmt.Println("restart recievers")
                        waitCount = 0
                        continue
                        // cs = recvers(ctx, ipc, count, chWaiter)
                        // fmt.Println("restart recievers")
                        // waitCount = 0
                        // continue
                    }
                    time.Sleep(time.Millisecond * 5)
                    waitCount++
profile/shmsend.go
@@ -22,6 +22,20 @@
            return
        default:
            if err = s.Send(buf); err != nil {
                s.Close()
                url := "hello"
                i, err := deliver.NewClientWithError(deliver.Shm, url)
                for {
                    if err == nil {
                        break
                    }
                    time.Sleep(1 * time.Second)
                    i, err = deliver.NewClientWithError(deliver.Shm, url)
                    fmt.Println("client create failed : ", err)
                }
                s = i
                fmt.Printf("can't send message on push socket: %s\n", err.Error())
            } else {