| | |
| | | removes := difference(w.info.Channels, proc.Channels) |
| | | if len(removes) > 0 { |
| | | // 通知子进程关闭通道 |
| | | notice = Notice{ |
| | | n := Notice{ |
| | | Op: opRemove, |
| | | Content: removes, |
| | | } |
| | | if d, err := json.Marshal(notice); err == nil { |
| | | if d, err := json.Marshal(n); err == nil { |
| | | w.trans.chNotify <- d |
| | | } |
| | | } |
| | |
| | | adds := difference(proc.Channels, w.info.Channels) |
| | | if len(adds) > 0 { |
| | | // 通知子进程打开通道 |
| | | notice = Notice{ |
| | | n := Notice{ |
| | | Op: opAdd, |
| | | Content: adds, |
| | | } |
| | | if d, err := json.Marshal(notice); err == nil { |
| | | if d, err := json.Marshal(n); err == nil { |
| | | w.trans.chNotify <- d |
| | | } |
| | | } |
| | |
| | | |
| | | if cmd == nil { |
| | | logo.Errorf("ANALYSIS START SLAVE PROC %s IPC: %s Failed\n", typ, ipcID) |
| | | return |
| | | } |
| | | logo.Infof("START SDK %s ID %s PID %d Env: %s\n", typ, ipcID, cmd.Process.Pid, info.Env) |
| | | logo.Infoln(cmd.Args) |
| | | |
| | | ch := make(chan []byte, 3) |
| | | cancel := fnNotify(ctx, ipcID, ch, logo.Infoln) |
| | |
| | | os.Setenv(runtime, old) |
| | | } |
| | | |
| | | // //debug |
| | | // cmd.Stdout = os.Stdout |
| | | // cmd.Stderr = os.Stderr |
| | | //debug |
| | | cmd.Stdout = os.Stdout |
| | | cmd.Stderr = os.Stderr |
| | | cmd.SysProcAttr = &syscall.SysProcAttr{Pdeathsig: syscall.SIGTERM} |
| | | |
| | | if err := cmd.Start(); err == nil { |
| | |
| | | continue |
| | | } |
| | | |
| | | logo.Infoln("~~~~~~Recv New SDKInfos") |
| | | logo.Infoln("~~~~~~Before Recv New SDKInfos") |
| | | |
| | | var typeProcs []TypeProc |
| | | |
| | |
| | | } |
| | | chProc <- typeProcs |
| | | |
| | | logo.Infoln("~~~~~~Recv New SDKInfos Over") |
| | | logo.Infof("~~~~~~Recv New SDKInfos %+v\n", typeProcs) |
| | | |
| | | default: |
| | | time.Sleep(10 * time.Millisecond) |
| | |
| | | pathExist := true |
| | | for _, v := range envs { |
| | | if !util.IsFileExist(v) { |
| | | logo.Infoln("Can't Find Runtime Path:", v, "Skip SDK: ", typ) |
| | | pathExist = false |
| | | break |
| | | } |
| | | } |
| | | if !pathExist { |
| | | logo.Infoln("Can't Find Runtime Path, Skip SDK: ", typ) |
| | | |
| | | return nil |
| | | } |
| | | } |
| | |
| | | Subproject commit e8145a8ad902a0b9a05f3ccfb9868647875b3880 |
| | | Subproject commit 3cd31cdc3e4d5fb14a48c1f7e15a725aceedfd8b |
| | |
| | | Subproject commit 357d7a3df36a0d3d57e79ed9064ee81f332fdb29 |
| | | Subproject commit 0571ff7d873c7c97dcd8fb94df7cb26f7ebf2fc1 |
| | |
| | | Subproject commit a93f6febea26558c208654a94f09fecd5637777a |
| | | Subproject commit d539cf8dad7f8f6023b75886f54b7eeb28cb5b9b |
| | |
| | | Subproject commit eb7b3a3a8d7af5c051cb706669c0577f79b9813c |
| | | Subproject commit 554fba69bb5f1c510c6da02c3a48fbde3a207688 |