diff --git a/reg.go b/reg.go index 8ad9fb7..25f42a2 100644 --- a/reg.go +++ b/reg.go @@ -129,18 +129,17 @@ func (r *Regedit) Set(key, value string) error { p := NewCmdPacket(CMDSET, StringToBytes(key), r.ts) defer p.Put() r.Lock() + defer r.Unlock() r.conn.Write(p.Encrypt(r.seq)) r.seq++ ack := NewCmdPacket(CMDACK, nil, &r.tp) defer ack.Put() err := r.ack(ack) if err != nil { - r.Unlock() return err } err = ack.Decrypt(r.seq) r.seq++ - r.Unlock() if err != nil { return ErrDecAck } @@ -152,17 +151,14 @@ func (r *Regedit) Set(key, value string) error { return ErrUnknownAck } p.Refresh(CMDDAT, StringToBytes(value), r.ts) - r.Lock() r.conn.Write(p.Encrypt(r.seq)) r.seq++ err = r.ack(ack) if err != nil { - r.Unlock() return err } err = ack.Decrypt(r.seq) r.seq++ - r.Unlock() if err != nil { return ErrDecAck } diff --git a/reg_test.go b/reg_test.go index 17aff34..5b8819f 100644 --- a/reg_test.go +++ b/reg_test.go @@ -45,7 +45,7 @@ func TestPush(t *testing.T) { if err != nil { t.Fatal(err) } - err = r.Set("ZeroBot-Plugin/kanban", "QQ群:1048452984, 开发群:705749886. 禁止用于商业用途.\nv1.2.2及以下版本公告服已下线.") + err = r.Set("ZeroBot-Plugin/kanban", "由于tx更改登录鉴权, 近期gocqzbp闪退增多,\n请及时处理以免对md5服务器产生过量请求, 导致IP被封.") if err != nil { t.Fatal(err) }