aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/fuzzer/queue/queue.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/fuzzer/queue/queue.go')
-rw-r--r--pkg/fuzzer/queue/queue.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkg/fuzzer/queue/queue.go b/pkg/fuzzer/queue/queue.go
index cbdb2ba19..0a56c76d3 100644
--- a/pkg/fuzzer/queue/queue.go
+++ b/pkg/fuzzer/queue/queue.go
@@ -161,7 +161,14 @@ func (r *Result) clone() *Result {
}
func (r *Result) Stop() bool {
- return r.Status == ExecFailure || r.Status == Crashed
+ switch r.Status {
+ case Success, Restarted:
+ return false
+ case ExecFailure, Crashed, Hanged:
+ return true
+ default:
+ panic(fmt.Sprintf("unhandled status %v", r.Status))
+ }
}
type Status int
@@ -171,6 +178,7 @@ const (
ExecFailure // For e.g. serialization errors.
Crashed // The VM crashed holding the request.
Restarted // The VM was restarted holding the request.
+ Hanged // The program has hanged (can't be killed/waited).
)
// Executor describes the interface wanted by the producers of requests.