awslabs / aws-lambda-go-api-proxy

lambda-go-api-proxy makes it easy to port APIs written with Go frameworks such as Gin (https://gin-gonic.github.io/gin/ ) to AWS Lambda and Amazon API Gateway.
Apache License 2.0
1.04k stars 197 forks source link

Use buffered channels for close notify signaling #78

Closed jslang closed 3 years ago

jslang commented 3 years ago

Using unbuffered channels results in potential blocks during notifyClosed if calling code fails or is otherwise unable to receive on the returned channel. In particular this fixes an issue where calling code was awaiting either notify close or context done. When context done happened first this caused the notifyClose call to hang, causing an api gateway timeout.