version = flag.Bool("version", false, "Print version information")
warranty = flag.Bool("warranty", false, "Print warranty information")
- autotoss = flag.Bool("autotoss", false, "Toss after call is finished")
- autotossDoSeen = flag.Bool("autotoss-seen", false, "Create .seen files during tossing")
- autotossNoFile = flag.Bool("autotoss-nofile", false, "Do not process \"file\" packets during tossing")
- autotossNoFreq = flag.Bool("autotoss-nofreq", false, "Do not process \"freq\" packets during tossing")
- autotossNoExec = flag.Bool("autotoss-noexec", false, "Do not process \"exec\" packets during tossing")
- autotossNoTrns = flag.Bool("autotoss-notrns", false, "Do not process \"trns\" packets during tossing")
+ autoToss = flag.Bool("autotoss", false, "Toss after call is finished")
+ autoTossDoSeen = flag.Bool("autotoss-seen", false, "Create .seen files during tossing")
+ autoTossNoFile = flag.Bool("autotoss-nofile", false, "Do not process \"file\" packets during tossing")
+ autoTossNoFreq = flag.Bool("autotoss-nofreq", false, "Do not process \"freq\" packets during tossing")
+ autoTossNoExec = flag.Bool("autotoss-noexec", false, "Do not process \"exec\" packets during tossing")
+ autoTossNoTrns = flag.Bool("autotoss-notrns", false, "Do not process \"trns\" packets during tossing")
)
flag.Usage = usage
flag.Parse()
} else {
node.Busy = true
node.Unlock()
+
+ var autoTossFinish chan struct{}
+ var autoTossBadCode chan bool
+ if *autoToss {
+ autoTossFinish, autoTossBadCode = ctx.AutoToss(
+ node.Id,
+ call.Nice,
+ *autoTossDoSeen,
+ *autoTossNoFile,
+ *autoTossNoFreq,
+ *autoTossNoExec,
+ *autoTossNoTrns,
+ )
+ }
+
ctx.CallNode(
node,
addrs,
false,
nil,
)
- if *autotoss {
- ctx.Toss(
- node.Id,
- call.Nice,
- false,
- *autotossDoSeen,
- *autotossNoFile,
- *autotossNoFreq,
- *autotossNoExec,
- *autotossNoTrns,
- )
+
+ if *autoToss {
+ close(autoTossFinish)
+ <-autoTossBadCode
}
node.Lock()