your #1 source of programming antipatterns
Go to file
Steven Santos Erenst da2b7586cd
Avoid creating copies of locks (#121)
tls.Config contains fields of type sync.Once and sync.RWMutex. My understanding
is that if the copy happens to occur while the lock is in a locked state, the
lock will remain locked indefinitely and cause a deadlock. Instead use
tls.Config.Clone() to create a shallow copy.

Also the lock copy made `go vet` upset:

$ go vet ./...
./xmpp.go:242:17: assignment copies lock value to newconfig: crypto/tls.Config contains sync.Once contains sync.Mutex
./xmpp.go:530:9: assignment copies lock value to *tc: crypto/tls.Config contains sync.Once contains sync.Mutex
2021-01-21 17:25:57 +09:00
_example if username or password are specified, don't assume anonymous in example.go 2015-04-12 22:18:06 -07:00
.travis.yml add .travis.yml 2016-11-21 10:25:22 +09:00
LICENSE add LICENSE file. 2011-02-28 11:46:55 +09:00
README.md Update README.md 2017-09-13 22:09:24 +02:00
xmpp_avatar.go Implement XEP-0084 (User Avatar) (#120) 2021-01-21 17:24:39 +09:00
xmpp_information_query.go add method to send IQ messages without <query> element 2018-01-31 17:36:24 +09:00
xmpp_muc.go go fmt 2018-05-05 20:33:05 +09:00
xmpp_ping.go Auto reply on server ping-request 2016-09-08 20:56:40 +05:00
xmpp_pubsub.go Implement a bit of XEP-0060 (PubSub) (#119) 2020-03-09 18:10:41 +09:00
xmpp_subscription.go Add OAuth2 support 2015-09-17 10:43:05 -07:00
xmpp_test.go Fix neglected io.EOF handling 2017-11-03 13:12:33 +01:00
xmpp.go Avoid creating copies of locks (#121) 2021-01-21 17:25:57 +09:00

go-xmpp

go xmpp library (original was written by russ cox )

Documentation