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

View File

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