diff options
Diffstat (limited to 'src/Network/BitTorrent/DHT/Session.hs')
-rw-r--r-- | src/Network/BitTorrent/DHT/Session.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Network/BitTorrent/DHT/Session.hs b/src/Network/BitTorrent/DHT/Session.hs index d3315a42..6c43c732 100644 --- a/src/Network/BitTorrent/DHT/Session.hs +++ b/src/Network/BitTorrent/DHT/Session.hs | |||
@@ -383,5 +383,7 @@ search action = do | |||
383 | alpha <- lift $ asks (optAlpha . options) | 383 | alpha <- lift $ asks (optAlpha . options) |
384 | awaitForever $ \ inputs -> do | 384 | awaitForever $ \ inputs -> do |
385 | forM_ (L.take alpha inputs) $ \ input -> do | 385 | forM_ (L.take alpha inputs) $ \ input -> do |
386 | result <- lift $ action input | 386 | result <- lift $ try $ action input |
387 | either leftover yield result | 387 | case result of |
388 | Left e -> let _ = e :: IOError in return () | ||
389 | Right r -> either leftover yield r | ||