lib/async/io/ssl_socket.rb in async-io-1.3.0 vs lib/async/io/ssl_socket.rb in async-io-1.4.0

- old
+ new

@@ -74,25 +74,23 @@ def accept(task: Task.current) peer, address = @server.accept wrapper = SSLSocket.connect_socket(peer, @context) - if block_given? - task.async do - task.annotate "accepting secure connection #{address}" + return wrapper, address unless block_given? + + task.async do + task.annotate "accepting secure connection #{address}" + + begin + wrapper.accept - begin - wrapper.accept - - yield wrapper, address - rescue SSLError - Async.logger.error($!.class) {$!} - ensure - wrapper.close - end + yield wrapper, address + rescue SSLError + Async.logger.error($!.class) {$!} + ensure + wrapper.close end - else - return wrapper, address end end end end end