Faraday: #get não é thread-safe

Criado em 26 out. 2019  ·  4Comentários  ·  Fonte: lostisland/faraday

https://github.com/lostisland/faraday/blob/d5eaa4ffe04b1cba00691b1cc2b2541e91093bf1/lib/faraday/adapter_registry.rb#L14 -L26

Ler de uma tabela hash enquanto há atualizações acontecendo não é thread-safe.

bug

Todos 4 comentários

Ah, entendo o que você quer dizer, devemos mover a chamada de @lock.synchronise para get vez disso?
Não tenho certeza se precisaríamos mais dele em set depois disso?

Você precisa disso em ambos os métodos porque está lendo e gravando em @constants . Você não pode ter acesso sincronizado à mesma tabela hash em nenhuma sessão. Operações somente leitura não são seguras com gravações simultâneas.

Tudo bem, eu mesclei uma alteração para envolver @constants em uma sincronização.

Obrigado, @ioquatix pela inspiração!

Esta página foi útil?
0 / 5 - 0 avaliações