mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-05 05:20:34 +00:00
Fix possible cause for spurious 500s
When DB fails to be open, aptly was skipping "close" phase, so that next request considered database to be still open (while it's closed) leading to panic. Fixes: #431
This commit is contained in:
+9
-6
@@ -27,20 +27,23 @@ func Router(c *ctx.AptlyContext) http.Handler {
|
||||
go cacheFlusher(requests, acks)
|
||||
|
||||
router.Use(func(c *gin.Context) {
|
||||
var err error
|
||||
|
||||
requests <- acquiredb
|
||||
err := <-acks
|
||||
if err != nil {
|
||||
c.Fail(500, err)
|
||||
return
|
||||
}
|
||||
|
||||
defer func() {
|
||||
requests <- releasedb
|
||||
err = <-acks
|
||||
if err != nil {
|
||||
c.Fail(500, err)
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
||||
err = <-acks
|
||||
if err != nil {
|
||||
c.Fail(500, err)
|
||||
return
|
||||
}
|
||||
c.Next()
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user