From fb3f415734336e5f7940dac86446ad0e5825c025 Mon Sep 17 00:00:00 2001 From: Adnan Maolood Date: Mon, 14 Feb 2022 09:55:53 -0500 Subject: [PATCH] api/clones: Unset clone_in_progress on panic --- api/clones/middleware.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/clones/middleware.go b/api/clones/middleware.go index a21c6b1..1076ce7 100644 --- a/api/clones/middleware.go +++ b/api/clones/middleware.go @@ -44,6 +44,7 @@ func Schedule(ctx context.Context, repoID int, repo *git.Repository, cloneURL st } task := work.NewTask(func(ctx context.Context) error { defer func() { + recovered := recover() err := database.WithTx(ctx, nil, func(tx *sql.Tx) error { _, err := tx.Exec( `UPDATE repository SET clone_in_progress = false WHERE id = $1;`, @@ -57,6 +58,9 @@ func Schedule(ctx context.Context, repoID int, repo *git.Repository, cloneURL st if err != nil { panic(err) } + if recovered != nil { + panic(recovered) + } }() cloneCtx, cancel := context.WithTimeout(ctx, 10*time.Minute) defer cancel() -- 2.38.4