]> 127.0.0.1 Git - part/.git/commitdiff
1 v0.28.20240819162911
authorqydysky <qydysky@foxmail.com>
Mon, 19 Aug 2024 16:23:59 +0000 (00:23 +0800)
committerqydysky <qydysky@foxmail.com>
Mon, 19 Aug 2024 16:23:59 +0000 (00:23 +0800)
.github/workflows/test.yml
go.mod
go.sum
progLock/Lock.go

index 8088a7fbe0cc384942843f52dd69ce5ca27d6935..fd495114060378aa8551d9798d609c42c7686936 100644 (file)
@@ -40,7 +40,7 @@ jobs:
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/component
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/component2
         go test -count 1 -timeout 15s -v -race github.com/qydysky/part/ctx
-        go test -count 1 -timeout 5s -v -race github.com/qydysky/part/slice
+        go test -count 1 -timeout 7s -v -race github.com/qydysky/part/slice
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/bools
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/errors
 
@@ -77,7 +77,7 @@ jobs:
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/component
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/component2
         go test -count 1 -timeout 15s -v -race github.com/qydysky/part/ctx
-        go test -count 1 -timeout 5s -v -race github.com/qydysky/part/slice
+        go test -count 1 -timeout 7s -v -race github.com/qydysky/part/slice
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/bools
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/errors
 
@@ -114,7 +114,7 @@ jobs:
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/component
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/component2
         go test -count 1 -timeout 15s -v -race github.com/qydysky/part/ctx
-        go test -count 1 -timeout 5s -v -race github.com/qydysky/part/slice
+        go test -count 1 -timeout 7s -v -race github.com/qydysky/part/slice
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/bools
         go test -count 1 -timeout 5s -v -race github.com/qydysky/part/errors
 
diff --git a/go.mod b/go.mod
index 293f3eb738bda48911620d46a0bd3552b767fc9c..4656f5cfd5590a615b375b0c789cf8d4a6ed0fec 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -1,16 +1,15 @@
 module github.com/qydysky/part
 
-go 1.22
+go 1.23
 
 require (
        github.com/andybalholm/brotli v1.1.0
        github.com/gorilla/websocket v1.5.3
        github.com/klauspost/compress v1.17.9
-       github.com/miekg/dns v1.1.61
+       github.com/miekg/dns v1.1.62
        github.com/shirou/gopsutil v3.21.11+incompatible
        github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
-       github.com/thedevsaddam/gojsonq/v2 v2.5.2
-       golang.org/x/text v0.16.0
+       golang.org/x/text v0.17.0
 )
 
 require (
@@ -19,9 +18,9 @@ require (
        github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
        github.com/jackc/puddle/v2 v2.2.1 // indirect
        github.com/ncruces/go-strftime v0.1.9 // indirect
-       golang.org/x/crypto v0.24.0 // indirect
-       golang.org/x/sync v0.7.0 // indirect
-       modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b // indirect
+       golang.org/x/crypto v0.26.0 // indirect
+       golang.org/x/sync v0.8.0 // indirect
+       modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a // indirect
 )
 
 require (
@@ -31,9 +30,9 @@ require (
        github.com/tklauser/go-sysconf v0.3.14 // indirect
        github.com/tklauser/numcpus v0.8.0 // indirect
        github.com/yusufpapurcu/wmi v1.2.4 // indirect
-       golang.org/x/mod v0.18.0 // indirect
-       golang.org/x/tools v0.22.0 // indirect
-       modernc.org/libc v1.53.3 // indirect
+       golang.org/x/mod v0.20.0 // indirect
+       golang.org/x/tools v0.24.0 // indirect
+       modernc.org/libc v1.59.9 // indirect
        modernc.org/mathutil v1.6.0 // indirect
        modernc.org/memory v1.8.0 // indirect
        modernc.org/strutil v1.2.0 // indirect
@@ -45,9 +44,9 @@ require (
        github.com/go-ole/go-ole v1.3.0 // indirect
        github.com/jackc/pgx/v5 v5.6.0
        github.com/stretchr/testify v1.9.0 // indirect
-       golang.org/x/net v0.26.0 // indirect
-       golang.org/x/sys v0.21.0 // indirect
-       modernc.org/sqlite v1.30.1
+       golang.org/x/net v0.28.0 // indirect
+       golang.org/x/sys v0.24.0 // indirect
+       modernc.org/sqlite v1.32.0
 )
 
 //replace github.com/thedevsaddam/gojsonq v2.3.0+incompatible => github.com/thedevsaddam/gojsonq/v2 v2.5.2
diff --git a/go.sum b/go.sum
index 4bf67583c2a7ccbb7564582f4df27c33db8cd80d..c48d9f660b5d18a9038a99b35bae2c43716aabf1 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -28,8 +28,8 @@ github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2
 github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
 github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
 github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/miekg/dns v1.1.61 h1:nLxbwF3XxhwVSm8g9Dghm9MHPaUZuqhPiGL+675ZmEs=
-github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ=
+github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=
+github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ=
 github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
 github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -45,47 +45,45 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-github.com/thedevsaddam/gojsonq/v2 v2.5.2 h1:CoMVaYyKFsVj6TjU6APqAhAvC07hTI6IQen8PHzHYY0=
-github.com/thedevsaddam/gojsonq/v2 v2.5.2/go.mod h1:bv6Xa7kWy82uT0LnXPE2SzGqTj33TAEeR560MdJkiXs=
 github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZb78yU=
 github.com/tklauser/go-sysconf v0.3.14/go.mod h1:1ym4lWMLUOhuBOPGtRcJm7tEGX4SCYNEEEtghGG/8uY=
 github.com/tklauser/numcpus v0.8.0 h1:Mx4Wwe/FjZLeQsK/6kt2EOepwwSl7SmJrK5bV/dXYgY=
 github.com/tklauser/numcpus v0.8.0/go.mod h1:ZJZlAY+dmR4eut8epnzf0u/VwodKmryxR8txiloSqBE=
 github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
 github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
-golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
-golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
-golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
-golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
-golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
-golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
-golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
+golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
+golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
+golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
+golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
+golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
+golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
-golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
-golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
-golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
-golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
+golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
+golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
+golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
+golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-modernc.org/cc/v4 v4.21.3 h1:2mhBdWKtivdFlLR1ecKXTljPG1mfvbByX7QKztAIJl8=
-modernc.org/cc/v4 v4.21.3/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
-modernc.org/ccgo/v4 v4.18.1 h1:1zF5kPBFq/ZVTulBOKgQPQITdOzzyBUfC51gVYP62E4=
-modernc.org/ccgo/v4 v4.18.1/go.mod h1:ao1fAxf9a2KEOL15WY8+yP3wnpaOpP/QuyFOZ9HJolM=
+modernc.org/cc/v4 v4.21.4 h1:3Be/Rdo1fpr8GrQ7IVw9OHtplU4gWbb+wNgeoBMmGLQ=
+modernc.org/cc/v4 v4.21.4/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
+modernc.org/ccgo/v4 v4.20.7 h1:skrinQsjxWfvj6nbC3ztZPJy+NuwmB3hV9zX/pthNYQ=
+modernc.org/ccgo/v4 v4.20.7/go.mod h1:UOkI3JSG2zT4E2ioHlncSOZsXbuDCZLvPi3uMlZT5GY=
 modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
 modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
-modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw=
-modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
-modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b h1:BnN1t+pb1cy61zbvSUV7SeI0PwosMhlAEi/vBY4qxp8=
-modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
-modernc.org/libc v1.53.3 h1:9O0aSLZuHPgp49we24NoFFteRgXNLGBAQ3TODrW3XLg=
-modernc.org/libc v1.53.3/go.mod h1:kb+Erju4FfHNE59xd2fNpv5CBeAeej6fHbx8p8xaiyI=
+modernc.org/gc/v2 v2.5.0 h1:bJ9ChznK1L1mUtAQtxi0wi5AtAs5jQuw4PrPHO5pb6M=
+modernc.org/gc/v2 v2.5.0/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
+modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a h1:CfbpOLEo2IwNzJdMvE8aiRbPMxoTpgAJeyePh0SmO8M=
+modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
+modernc.org/libc v1.59.9 h1:k+nNDDakwipimgmJ1D9H466LhFeSkaPPycAs1OZiDmY=
+modernc.org/libc v1.59.9/go.mod h1:EY/egGEU7Ju66eU6SBqCNYaFUDuc4npICkMWnU5EE3A=
 modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
 modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
 modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E=
@@ -94,8 +92,8 @@ modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
 modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
 modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
 modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss=
-modernc.org/sqlite v1.30.1 h1:YFhPVfu2iIgUf9kuA1CR7iiHdcEEsI2i+yjRYHscyxk=
-modernc.org/sqlite v1.30.1/go.mod h1:DUmsiWQDaAvU4abhc/N+djlom/L2o8f7gZ95RCvyoLU=
+modernc.org/sqlite v1.32.0 h1:6BM4uGza7bWypsw4fdLRsLxut6bHe4c58VeqjRgST8s=
+modernc.org/sqlite v1.32.0/go.mod h1:UqoylwmTb9F+IqXERT8bW9zzOWN8qwAIcLdzeBZs4hA=
 modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
 modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
 modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
index 312e8abc80dac6fd9537682d0908b95c309b164b..a7ca5e9dff67c455df8e335538a7905fae8a99ff 100644 (file)
@@ -1,26 +1,27 @@
 package part
 
 import (
+       "encoding/json"
+       "errors"
        "os"
+       "strings"
        "sync"
        "time"
-       "errors"
-       "strings"
-       "encoding/json"
 
        part "github.com/qydysky/part"
+       pfile "github.com/qydysky/part/file"
 )
 
 type lock struct {
-       Time int64 `json:"time"`
-       Data string `json:"date"`
+       Time     int64  `json:"time"`
+       Data     string `json:"date"`
        stopsign bool
-       b chan struct{}
+       b        chan struct{}
        sync.Mutex
 }
 
 const (
-       lock_file = ".lock"
+       lock_file    = ".lock"
        lock_timeout = 10
 )
 
@@ -28,30 +29,35 @@ func New() *lock {
        return &lock{}
 }
 
-//start will save current time and Data
-//if start func is called in other programe, Data or "still alive" will return as error
+// start will save current time and Data
+// if start func is called in other programe, Data or "still alive" will return as error
 func (l *lock) Start(Data ...string) (err error) {
        l.Lock()
        defer l.Unlock()
 
-       if part.Checkfile().IsExist(lock_file) {
+       f := pfile.New(lock_file, 0, true)
+       if f.IsExist() {
                //read time from file
                if s := part.File().FileWR(part.Filel{
-                       File:lock_file,
-                       Loc:0,
-               });len(s) != 0 {
-                       if e := json.Unmarshal([]byte(s), l);e != nil {
+                       File: lock_file,
+                       Loc:  0,
+               }); len(s) != 0 {
+                       if e := json.Unmarshal([]byte(s), l); e != nil {
                                err = e
                        }
-               } else {err = errors.New("read error")}
+               } else {
+                       err = errors.New("read error")
+               }
                //read time from modtime
                if err != nil {
-                       err,l.Time = part.Checkfile().GetFileModTime(lock_file)
+                       l.Time, err = f.GetFileModTime()
+               }
+
+               if err != nil {
+                       panic(err.Error())
                }
-               
-               if err != nil {panic(err.Error())}
 
-               if time.Now().Unix() - l.Time <= lock_timeout {
+               if time.Now().Unix()-l.Time <= lock_timeout {
                        if l.Data != "" {
                                return errors.New(l.Data)
                        }
@@ -60,28 +66,28 @@ func (l *lock) Start(Data ...string) (err error) {
        } else {
                l.b = make(chan struct{})
                l.Data = strings.Join(Data, "&")
-               go func(l *lock){
+               go func(l *lock) {
                        for !l.stopsign {
                                l.Time = time.Now().Unix()
-                               if b,e := json.Marshal(l);e != nil {
+                               if b, e := json.Marshal(l); e != nil {
                                        panic(e.Error())
                                } else {
                                        part.File().FileWR(part.Filel{
-                                               File:lock_file,
-                                               Loc:0,
-                                               Context:[]interface{}{b},
+                                               File:    lock_file,
+                                               Loc:     0,
+                                               Context: []interface{}{b},
                                        })
                                }
 
-                               select{
-                               case l.b<-struct{}{}:;
-                               default:;
+                               select {
+                               case l.b <- struct{}{}:
+                               default:
                                }
 
-                               time.Sleep(time.Duration(lock_timeout)*time.Second)
+                               time.Sleep(time.Duration(lock_timeout) * time.Second)
                        }
                }(l)
-               <- l.b
+               <-l.b
        }
        return nil
 }
@@ -89,11 +95,11 @@ func (l *lock) Start(Data ...string) (err error) {
 func (l *lock) Stop() error {
        l.Lock()
        defer l.Unlock()
-       
+
        l.stopsign = true
        if l.b != nil {
                close(l.b)
                l.b = nil
        }
        return os.RemoveAll(lock_file)
-}
\ No newline at end of file
+}