Refactor: Remove duplicate code

This commit is contained in:
Derek Parker
2014-05-20 15:15:52 -05:00
parent 8d67a063f7
commit 170ae88312

View File

@ -49,23 +49,19 @@ func (dbp *DebuggedProcess) Registers() (*syscall.PtraceRegs, error) {
} }
func (dbp *DebuggedProcess) Step() error { func (dbp *DebuggedProcess) Step() error {
err := syscall.PtraceSingleStep(dbp.Pid) return dbp.Exec(func() error {
if err != nil { return syscall.PtraceSingleStep(dbp.Pid)
return err })
}
ps, err := dbp.Process.Wait()
if err != nil {
return err
}
dbp.ProcessState = ps
return nil
} }
func (dbp *DebuggedProcess) Continue() error { func (dbp *DebuggedProcess) Continue() error {
err := syscall.PtraceCont(dbp.Pid, 0) return dbp.Exec(func() error {
return syscall.PtraceCont(dbp.Pid, 0)
})
}
func (dbp *DebuggedProcess) Exec(ptracefunc func() error) error {
err := ptracefunc()
if err != nil { if err != nil {
return err return err
} }