aboutsummaryrefslogtreecommitdiffstats
path: root/src/Network/WireGuard/UdpListener.hs
diff options
context:
space:
mode:
authorBin Jin <bjin@ctrl-d.org>2017-03-16 00:26:40 +0800
committerBin Jin <bjin@ctrl-d.org>2017-03-16 00:26:40 +0800
commit72ce5a8715976ec5eccedab0552fc7d9233903c1 (patch)
treeb88f568383bdd1c20b0e3ed7a1df0da12e939596 /src/Network/WireGuard/UdpListener.hs
parentDisable multi-threading for now (diff)
downloadwireguard-hs-72ce5a8715976ec5eccedab0552fc7d9233903c1.tar.xz
wireguard-hs-72ce5a8715976ec5eccedab0552fc7d9233903c1.zip
remove STM packet queue
Diffstat (limited to 'src/Network/WireGuard/UdpListener.hs')
-rw-r--r--src/Network/WireGuard/UdpListener.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Network/WireGuard/UdpListener.hs b/src/Network/WireGuard/UdpListener.hs
index 77b8ae0..93369f4 100644
--- a/src/Network/WireGuard/UdpListener.hs
+++ b/src/Network/WireGuard/UdpListener.hs
@@ -46,11 +46,11 @@ handlePort bindPort readUdpChan writeUdpChan = retryWithBackoff $
handleRead :: Socket -> PacketQueue UdpPacket -> IO ()
handleRead sock readUdpChan = forever $ do
packet <- recvFrom sock udpReadBufferLength
- void $ atomically $ tryPushPacketQueue readUdpChan packet
+ pushPacketQueue readUdpChan packet
handleWrite :: Socket -> PacketQueue UdpPacket -> IO ()
handleWrite sock writeUdpChan = forever $ do
- (packet, dest) <- atomically $ popPacketQueue writeUdpChan
+ (packet, dest) <- popPacketQueue writeUdpChan
void $ sendTo sock packet dest
waitNewVar :: Eq a => a -> TVar a -> STM a