Use a semaphore to signal message availability
Use a semaphore to signal message availability

The Event hack was too much of a hack: on actually thinking about it,
there's a rather obvious race.

untidy-hair/rails,koic/rails,bradleypriest/rails,kenta-s/rails,brchristian/rails,ledestin/rails,bogdanvlviv/rails,iainbeeston/rails,baerjam/rails,mtsmfm/rails,prathamesh-sonpatki/rails,yhirano55/rails,mijoharas/rails,yasslab/railsguides.jp,richseviora/rails,jeremy/rails,Edouard-chin/rails,BlakeWilliams/rails,kmcphillips/rails,lcreid/rails,kddeisz/rails,Envek/rails,bogdanvlviv/rails,richseviora/rails,mechanicles/rails,bolek/rails,kenta-s/rails,gcourtemanche/rails,prathamesh-sonpatki/rails,iainbeeston/rails,eileencodes/rails,travisofthenorth/rails,ledestin/rails,mijoharas/rails,odedniv/rails,coreyward/rails,Vasfed/rails,Vasfed/rails,untidy-hair/rails,schuetzm/rails,shioyama/rails,rbhitchcock/rails,schuetzm/rails,gcourtemanche/rails,arjes/rails,koic/rails,pvalena/rails,shioyama/rails,EmmaB/rails-1,flanger001/rails,yalab/rails,betesh/rails,palkan/rails,kamipo/rails,iainbeeston/rails,xlymian/rails,gcourtemanche/rails,vipulnsward/rails,gauravtiwari/rails,Sen-Zhang/rails,Stellenticket/rails,betesh/rails,ttanimichi/rails,baerjam/rails,rafaelfranca/omg-rails,vassilevsky/rails,EmmaB/rails-1,bradleypriest/rails,yalab/rails,yawboakye/rails,samphilipd/rails,coreyward/rails,flanger001/rails,Erol/rails,starknx/rails,amoody2108/TechForJustice,Erol/rails,tijwelch/rails,utilum/rails,tgxworld/rails,yhirano55/rails,travisofthenorth/rails,voray/rails,kmayer/rails,yasslab/railsguides.jp,vassilevsky/rails,sergey-alekseev/rails,yhirano55/rails,xlymian/rails,kaspth/rails,arjes/rails,yawboakye/rails,esparta/rails,rossta/rails,MSP-Greg/rails,hanystudy/rails,elfassy/rails,riseshia/railsguides.kr,aditya-kapoor/rails,stefanmb/rails,marklocklear/rails,rails/rails,fabianoleittes/rails,eileencodes/rails,rossta/rails,schuetzm/rails,mathieujobin/reduced-rails-for-travis,deraru/rails,tjschuck/rails,starknx/rails,mohitnatoo/rails,kmayer/rails,odedniv/rails,printercu/rails,illacceptanything/illacceptanything,Vasfed/rails,fabianoleittes/rails,joonyou/rails,tijwelch/rails,printercu/rails,tgxworld/rails,palkan/rails,sealocal/rails,kachick/rails,gavingmiller/rails,prathamesh-sonpatki/rails,elfassy/rails,pvalena/rails,yawboakye/rails,mohitnatoo/rails,fabianoleittes/rails,illacceptanything/illacceptanything,flanger001/rails,georgeclaghorn/rails,gauravtiwari/rails,yasslab/railsguides.jp,lcreid/rails,notapatch/rails,MichaelSp/rails,bradleypriest/rails,starknx/rails,Edouard-chin/rails,elfassy/rails,coreyward/rails,bogdanvlviv/rails,vipulnsward/rails,printercu/rails,illacceptanything/illacceptanything,gfvcastro/rails,mtsmfm/rails,esparta/rails,mechanicles/rails,ngpestelos/rails,riseshia/railsguides.kr,Envek/rails,deraru/rails,rails/rails,utilum/rails,odedniv/rails,utilum/rails,tijwelch/rails,rafaelfranca/omg-rails,felipecvo/rails,illacceptanything/illacceptanything,travisofthenorth/rails,shioyama/rails,arunagw/rails,rbhitchcock/rails,tgxworld/rails,ttanimichi/rails,bogdanvlviv/rails,Spin42/rails,rails/rails,tgxworld/rails,tjschuck/rails,illacceptanything/illacceptanything,lucasmazza/rails,esparta/rails,matrinox/rails,lucasmazza/rails,pschambacher/rails,kmcphillips/rails,Stellenticket/rails,kddeisz/rails,georgeclaghorn/rails,yalab/rails,stefanmb/rails,pvalena/rails,illacceptanything/illacceptanything,kenta-s/rails,Erol/rails,samphilipd/rails,assain/rails,bolek/rails,Spin42/rails,yhirano55/rails,arunagw/rails,illacceptanything/illacceptanything,sealocal/rails,MichaelSp/rails,arjes/rails,notapatch/rails,amoody2108/TechForJustice,hanystudy/rails,kachick/rails,illacceptanything/illacceptanything,felipecvo/rails,mtsmfm/rails,kirs/rails-1,joonyou/rails,jeremy/rails,mtsmfm/railstest,flanger001/rails,printercu/rails,hanystudy/rails,Envek/rails,BlakeWilliams/rails,ngpestelos/rails,matrinox/rails,arunagw/rails,joonyou/rails,pschambacher/rails,MSP-Greg/rails,kmcphillips/rails,amoody2108/TechForJustice,kamipo/rails,MichaelSp/rails,illacceptanything/illacceptanything,brchristian/rails,stefanmb/rails,iainbeeston/rails,samphilipd/rails,schuetzm/rails,rossta/rails,yahonda/rails,lcreid/rails,illacceptanything/illacceptanything,alecspopa/rails,gavingmiller/rails,shioyama/rails,tjschuck/rails,deraru/rails,voray/rails,yahonda/rails,EmmaB/rails-1,ngpestelos/rails,palkan/rails,prathamesh-sonpatki/rails,vipulnsward/rails,brchristian/rails,deraru/rails,repinel/rails,sergey-alekseev/rails,rafaelfranca/omg-rails,esparta/rails,kamipo/rails,joonyou/rails,illacceptanything/illacceptanything,baerjam/rails,utilum/rails,vipulnsward/rails,repinel/rails,Vasfed/rails,illacceptanything/illacceptanything,mijoharas/rails,baerjam/rails,Sen-Zhang/rails,maicher/rails,assain/rails,notapatch/rails,marklocklear/rails,yasslab/railsguides.jp,mohitnatoo/rails,pvalena/rails,lucasmazza/rails,BlakeWilliams/rails,untidy-hair/rails,tjschuck/rails,aditya-kapoor/rails,richseviora/rails,kddeisz/rails,mtsmfm/railstest,vassilevsky/rails,maicher/rails,palkan/rails,illacceptanything/illacceptanything,kachick/rails,mathieujobin/reduced-rails-for-travis,gfvcastro/rails,pschambacher/rails,koic/rails,Stellenticket/rails,illacceptanything/illacceptanything,mohitnatoo/rails,kirs/rails-1,kddeisz/rails,Edouard-chin/rails,MSP-Greg/rails,kaspth/rails,georgeclaghorn/rails,kmayer/rails,assain/rails,gauravtiwari/rails,MSP-Greg/rails,maicher/rails,notapatch/rails,alecspopa/rails,alecspopa/rails,Erol/rails,eileencodes/rails,kirs/rails-1,xlymian/rails,yahonda/rails,travisofthenorth/rails,felipecvo/rails,lcreid/rails,Spin42/rails,Edouard-chin/rails,repinel/rails,jeremy/rails,yalab/rails,sergey-alekseev/rails,matrinox/rails,aditya-kapoor/rails,betesh/rails,kmcphillips/rails,yawboakye/rails,fabianoleittes/rails,gavingmiller/rails,riseshia/railsguides.kr,Sen-Zhang/rails,riseshia/railsguides.kr,arunagw/rails,rails/rails,gfvcastro/rails,rbhitchcock/rails,mathieujobin/reduced-rails-for-travis,ledestin/rails,georgeclaghorn/rails,voray/rails,Envek/rails,mechanicles/rails,ttanimichi/rails,eileencodes/rails,assain/rails,repinel/rails,betesh/rails,gfvcastro/rails,Stellenticket/rails,aditya-kapoor/rails,untidy-hair/rails,bolek/rails,jeremy/rails,illacceptanything/illacceptanything,kaspth/rails,mtsmfm/railstest,marklocklear/rails,mechanicles/rails,yahonda/rails,sealocal/rails,BlakeWilliams/rails