diff --git a/src/porcupine/checker.go b/src/porcupine/checker.go index eca4bb4..8e97544 100644 --- a/src/porcupine/checker.go +++ b/src/porcupine/checker.go @@ -37,7 +37,12 @@ func (a byTime) Swap(i, j int) { } func (a byTime) Less(i, j int) bool { - return a[i].time < a[j].time + if a[i].time != a[j].time { + return a[i].time < a[j].time + } + // if the timestamps are the same, we need to make sure we order calls + // before returns + return a[i].kind == callEntry && a[j].kind == returnEntry } func makeEntries(history []Operation) []entry {