thread.Halt: Remove duplication between OS implementations

Bring similar code up to top level, and keep OS dependant code in OS
dependant files. DRY up code a bit.
This commit is contained in:
Derek Parker
2015-08-20 10:06:33 -05:00
parent b9846c7684
commit 38e0051308
3 changed files with 18 additions and 18 deletions

View File

@ -299,3 +299,19 @@ func (thread *Thread) GetG() (g *G, err error) {
func (thread *Thread) Stopped() bool {
return thread.stopped()
}
// Stops this thread from executing. Actual
// implementation is OS dependant. Look in OS
// thread file.
func (thread *Thread) Halt() (err error) {
defer func() {
if err == nil {
thread.running = false
}
}()
if thread.Stopped() {
return
}
err = thread.halt()
return
}