This commit is contained in:
Liang Ding 2019-05-16 17:50:58 +08:00
parent b97ba481ef
commit e97ce75b92
No known key found for this signature in database
GPG Key ID: 136F30F901A2231D
2 changed files with 32 additions and 16 deletions

View File

@ -97,8 +97,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
if nil != wsChannel { if nil != wsChannel {
channelRet["cmd"] = "run" channelRet["cmd"] = "run"
channelRet["output"] = "" channelRet["output"] = ""
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
} }
go func(runningId int) { go func(runningId int) {
@ -117,8 +119,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
channelRet["cmd"] = "run" channelRet["cmd"] = "run"
channelRet["output"] = oneRuneStr + "\n" channelRet["output"] = oneRuneStr + "\n"
wsChannel := session.OutputWS[sid] wsChannel := session.OutputWS[sid]
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
} }
}() }()
@ -130,8 +134,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
channelRet["cmd"] = "run" channelRet["cmd"] = "run"
channelRet["output"] = "<span class='stderr'>" + oneRuneStr + "</span>" channelRet["output"] = "<span class='stderr'>" + oneRuneStr + "</span>"
wsChannel := session.OutputWS[sid] wsChannel := session.OutputWS[sid]
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
} }
cmd.Wait() cmd.Wait()
@ -145,8 +151,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
} else { } else {
channelRet["output"] = "\n<span class='stderr'>run program complete</span>\n" channelRet["output"] = "\n<span class='stderr'>run program complete</span>\n"
} }
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
}(rand.Int()) }(rand.Int())
} }

View File

@ -109,8 +109,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
if nil != wsChannel { if nil != wsChannel {
channelRet["cmd"] = "run" channelRet["cmd"] = "run"
channelRet["output"] = "" channelRet["output"] = ""
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
} }
go func(runningId int) { go func(runningId int) {
@ -129,8 +131,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
channelRet["cmd"] = "run" channelRet["cmd"] = "run"
channelRet["output"] = oneRuneStr + "\n" channelRet["output"] = oneRuneStr + "\n"
wsChannel := session.OutputWS[sid] wsChannel := session.OutputWS[sid]
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
} }
}() }()
@ -142,8 +146,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
channelRet["cmd"] = "run" channelRet["cmd"] = "run"
channelRet["output"] = "<span class='stderr'>" + oneRuneStr + "</span>" channelRet["output"] = "<span class='stderr'>" + oneRuneStr + "</span>"
wsChannel := session.OutputWS[sid] wsChannel := session.OutputWS[sid]
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
} }
cmd.Wait() cmd.Wait()
@ -157,8 +163,10 @@ func RunHandler(w http.ResponseWriter, r *http.Request) {
} else { } else {
channelRet["output"] = "\n<span class='stderr'>run program complete</span>\n" channelRet["output"] = "\n<span class='stderr'>run program complete</span>\n"
} }
wsChannel.WriteJSON(&channelRet) if nil != wsChannel {
wsChannel.Refresh() wsChannel.WriteJSON(&channelRet)
wsChannel.Refresh()
}
}(rand.Int()) }(rand.Int())
} }