mirror of
https://github.com/criyle/go-judge.git
synced 2025-11-04 14:50:02 +08:00
fix compile information overrite
This commit is contained in:
parent
19ab1bc1a6
commit
9ff541bc39
2
go.mod
2
go.mod
@ -3,7 +3,7 @@ module github.com/criyle/go-judge
|
|||||||
go 1.13
|
go 1.13
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/criyle/go-sandbox v0.0.0-20200220013035-33a7b2b603c2
|
github.com/criyle/go-sandbox v0.0.0-20200221071805-5b50e9db4d0d
|
||||||
github.com/googollee/go-engine.io v1.4.3-0.20200211083925-ac1f0a0b48dd
|
github.com/googollee/go-engine.io v1.4.3-0.20200211083925-ac1f0a0b48dd
|
||||||
github.com/googollee/go-socket.io v1.4.2
|
github.com/googollee/go-socket.io v1.4.2
|
||||||
github.com/ugorji/go/codec v1.1.7
|
github.com/ugorji/go/codec v1.1.7
|
||||||
|
|||||||
4
go.sum
4
go.sum
@ -12,8 +12,8 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
|
|||||||
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
|
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
github.com/criyle/go-sandbox v0.0.0-20200220013035-33a7b2b603c2 h1:JcoYAvzbmUPQ1W6rc5zpl60edjGE0xwQUnj2uBkMesQ=
|
github.com/criyle/go-sandbox v0.0.0-20200221071805-5b50e9db4d0d h1:9q4gpfGyTNm/5weXAL86oXzm7NNd3Dg9dI2jWyUvURw=
|
||||||
github.com/criyle/go-sandbox v0.0.0-20200220013035-33a7b2b603c2/go.mod h1:32Edg/qMDGZRUMvCCqT3m5vbdL8p1Cro9A1MEj3fQ6o=
|
github.com/criyle/go-sandbox v0.0.0-20200221071805-5b50e9db4d0d/go.mod h1:32Edg/qMDGZRUMvCCqT3m5vbdL8p1Cro9A1MEj3fQ6o=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
|||||||
@ -25,6 +25,8 @@ func prepareFds(r *Runner) ([][]*os.File, [][]pipeBuff, []*os.File, error) {
|
|||||||
|
|
||||||
prepareCmdFd := func(c *Cmd, count int) ([]*os.File, []pipeBuff, error) {
|
prepareCmdFd := func(c *Cmd, count int) ([]*os.File, []pipeBuff, error) {
|
||||||
fd := make([]*os.File, count)
|
fd := make([]*os.File, count)
|
||||||
|
// record same name buffer for one command to avoid multiple pipe creation
|
||||||
|
pb := make(map[string]*pipe.Buffer)
|
||||||
var ptc []pipeBuff
|
var ptc []pipeBuff
|
||||||
|
|
||||||
for j, t := range c.Files {
|
for j, t := range c.Files {
|
||||||
@ -45,11 +47,17 @@ func prepareFds(r *Runner) ([][]*os.File, [][]pipeBuff, []*os.File, error) {
|
|||||||
fileToClose = append(fileToClose, f)
|
fileToClose = append(fileToClose, f)
|
||||||
|
|
||||||
case PipeCollector:
|
case PipeCollector:
|
||||||
|
if b, ok := pb[t.Name]; ok {
|
||||||
|
fd[j] = b.W
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
b, err := pipe.NewBuffer(t.SizeLimit)
|
b, err := pipe.NewBuffer(t.SizeLimit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("failed to create pipe %v", err)
|
return nil, nil, fmt.Errorf("failed to create pipe %v", err)
|
||||||
}
|
}
|
||||||
fd[j] = b.W
|
fd[j] = b.W
|
||||||
|
pb[t.Name] = b
|
||||||
ptc = append(ptc, pipeBuff{b, t.Name})
|
ptc = append(ptc, pipeBuff{b, t.Name})
|
||||||
fileToClose = append(fileToClose, b.W)
|
fileToClose = append(fileToClose, b.W)
|
||||||
|
|
||||||
@ -57,6 +65,7 @@ func prepareFds(r *Runner) ([][]*os.File, [][]pipeBuff, []*os.File, error) {
|
|||||||
return nil, nil, fmt.Errorf("unknown file type %v", t)
|
return nil, nil, fmt.Errorf("unknown file type %v", t)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return fd, ptc, nil
|
return fd, ptc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user