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