]> 127.0.0.1 Git - part/.git/commitdiff
82
authorqydysky <qydysky@foxmail.com>
Sat, 26 Sep 2020 03:46:26 +0000 (11:46 +0800)
committerqydysky <qydysky@foxmail.com>
Sat, 26 Sep 2020 03:47:06 +0000 (11:47 +0800)
Signal.go

index 0dd25b38681db6a7e2bdd94372c364ac946acf24..24c1885a83d8cf85e194bc937b153448661593eb 100644 (file)
--- a/Signal.go
+++ b/Signal.go
@@ -1,22 +1,24 @@
 package part
 
-type signal struct{
+type Signal struct{
        v chan struct{}
 }
 
-func Signal() (o *signal) {
-       return &signal{v:make(chan struct{})}
+func (i Signal) Init() (o *Signal) {
+       o = &i
+       o.v = make(chan struct{})
+       return
 }
 
-func (i *signal) Wait() {
+func (i *Signal) Wait() {
        <-i.v
 }
 
-func (i *signal) Done() {
+func (i *Signal) Done() {
        if i.Islive() {close(i.v)}
 }
 
-func (i *signal) Islive() (islive bool) {
+func (i *Signal) Islive() (islive bool) {
        select {
        case <-i.v:;
        default: