fix data race in kcp

This commit is contained in:
ginuerzh 2018-12-06 11:48:38 +08:00
parent dc4c78ca44
commit d695429eda

8
kcp.go
View File

@ -66,7 +66,7 @@ func (c *KCPConfig) Init() {
var ( var (
// DefaultKCPConfig is the default KCP config. // DefaultKCPConfig is the default KCP config.
DefaultKCPConfig = &KCPConfig{ DefaultKCPConfig = KCPConfig{
Key: "it's a secrect", Key: "it's a secrect",
Crypt: "aes", Crypt: "aes",
Mode: "fast", Mode: "fast",
@ -99,7 +99,8 @@ type kcpTransporter struct {
// KCPTransporter creates a Transporter that is used by KCP proxy client. // KCPTransporter creates a Transporter that is used by KCP proxy client.
func KCPTransporter(config *KCPConfig) Transporter { func KCPTransporter(config *KCPConfig) Transporter {
if config == nil { if config == nil {
config = DefaultKCPConfig config = &KCPConfig{}
*config = DefaultKCPConfig
} }
config.Init() config.Init()
@ -227,7 +228,8 @@ type kcpListener struct {
// KCPListener creates a Listener for KCP proxy server. // KCPListener creates a Listener for KCP proxy server.
func KCPListener(addr string, config *KCPConfig) (Listener, error) { func KCPListener(addr string, config *KCPConfig) (Listener, error) {
if config == nil { if config == nil {
config = DefaultKCPConfig config = &KCPConfig{}
*config = DefaultKCPConfig
} }
config.Init() config.Init()