{"action":"created","issue":{"url":"https://api.github.com/repos/romixlab/qmsgpack/issues/5","labels_url":"https://api.github.com/repos/romixlab/qmsgpack/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/romixlab/qmsgpack/issues/5/comments","events_url":"https://api.github.com/repos/romixlab/qmsgpack/issues/5/events","html_url":"https://github.com/romixlab/qmsgpack/issues/5","id":67782453,"number":5,"title":"Fix / document thread-safety","user":{"login":"estan","id":86675,"avatar_url":"https://avatars.githubusercontent.com/u/86675?v=3","gravatar_id":"","url":"https://api.github.com/users/estan","html_url":"https://github.com/estan","followers_url":"https://api.github.com/users/estan/followers","following_url":"https://api.github.com/users/estan/following{/other_user}","gists_url":"https://api.github.com/users/estan/gists{/gist_id}","starred_url":"https://api.github.com/users/estan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/estan/subscriptions","organizations_url":"https://api.github.com/users/estan/orgs","repos_url":"https://api.github.com/users/estan/repos","events_url":"https://api.github.com/users/estan/events{/privacy}","received_events_url":"https://api.github.com/users/estan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-11T13:01:02Z","updated_at":"2015-04-11T14:54:26Z","closed_at":"2015-04-11T13:14:29Z","body":"At the moment, it looks like the library has some global data (compat mode, the hash of user packers), which makes me guess the library is not thread safe? It would be great if it were. Until then, it would at least be nice if the thread-unsafetyness was documented in `README.md`."},"comment":{"url":"https://api.github.com/repos/romixlab/qmsgpack/issues/comments/91866015","html_url":"https://github.com/romixlab/qmsgpack/issues/5#issuecomment-91866015","issue_url":"https://api.github.com/repos/romixlab/qmsgpack/issues/5","id":91866015,"user":{"login":"estan","id":86675,"avatar_url":"https://avatars.githubusercontent.com/u/86675?v=3","gravatar_id":"","url":"https://api.github.com/users/estan","html_url":"https://github.com/estan","followers_url":"https://api.github.com/users/estan/followers","following_url":"https://api.github.com/users/estan/following{/other_user}","gists_url":"https://api.github.com/users/estan/gists{/gist_id}","starred_url":"https://api.github.com/users/estan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/estan/subscriptions","organizations_url":"https://api.github.com/users/estan/orgs","repos_url":"https://api.github.com/users/estan/repos","events_url":"https://api.github.com/users/estan/events{/privacy}","received_events_url":"https://api.github.com/users/estan/received_events","type":"User","site_admin":false},"created_at":"2015-04-11T14:54:26Z","updated_at":"2015-04-11T14:54:26Z","body":"Thanks. Yes, it sounds like it should be safe if you're careful to not use those functions from multiple threads. I think you might have missed a few words in `README.md`:\r\n\r\n    [...] different threads. pack and unpack methods do not use any global data, so\r\n\r\nshould be\r\n\r\n    [...] different threads. pack and unpack methods do not use any global data, so should be safe to use from multiple threads."}}