本文整理匯總了Golang中launchpad/net/tomb.Tomb.Killf方法的典型用法代碼示例。如果您正苦於以下問題:Golang Tomb.Killf方法的具體用法?Golang Tomb.Killf怎麽用?Golang Tomb.Killf使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類launchpad/net/tomb.Tomb
的用法示例。
在下文中一共展示了Tomb.Killf方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: TestTomb
func (s *fslockSuite) TestTomb(c *gc.C) {
const timeToDie = 200 * time.Millisecond
die := tomb.Tomb{}
dir := c.MkDir()
lock, err := fslock.NewLock(dir, "testing", s.lockConfig)
c.Assert(err, gc.IsNil)
// Just use one lock, and try to lock it twice.
err = lock.Lock("very busy")
c.Assert(err, gc.IsNil)
checkTomb := func() error {
select {
case <-die.Dying():
return tomb.ErrDying
default:
// no-op to fall through to return.
}
return nil
}
go func() {
time.Sleep(timeToDie)
die.Killf("time to die")
}()
err = lock.LockWithFunc("won't happen", checkTomb)
c.Assert(errors.Cause(err), gc.Equals, tomb.ErrDying)
msg, err := lock.Message()
c.Assert(err, gc.IsNil)
c.Assert(msg, gc.Equals, "very busy")
}