+ if (op[a->file][a->op_num].serial !=
+ op[b->file][b->op_num].serial)
+ return op[a->file][a->op_num].serial
+ - op[b->file][b->op_num].serial;
+
+ /* Cancelled transactions are assumed to happen first. */
+ if (starts_transaction(&op[a->file][a->op_num])
+ && !successful_transaction(&op[a->file][a->op_num]))
+ return -1;
+ if (starts_transaction(&op[b->file][b->op_num])
+ && !successful_transaction(&op[b->file][b->op_num]))
+ return 1;
+
+ /* No idea. */
+ return 0;