mirror of
https://github.com/matrix-org/dendrite
synced 2024-12-15 07:42:58 +00:00
mediaapi/writers/download: Wrap broadcast call in closure to re-evaluate args
This commit is contained in:
parent
4457ebddca
commit
ce21b32d38
1 changed files with 4 additions and 2 deletions
|
@ -226,9 +226,11 @@ func (r *downloadRequest) getRemoteFile(cfg *config.MediaAPI, db *storage.Databa
|
||||||
r.MediaMetadata = mediaMetadata
|
r.MediaMetadata = mediaMetadata
|
||||||
} else {
|
} else {
|
||||||
// Note: This is an active request that MUST broadcastMediaMetadata to wake up waiting goroutines!
|
// Note: This is an active request that MUST broadcastMediaMetadata to wake up waiting goroutines!
|
||||||
// Note: errorResponse is the named return variable
|
|
||||||
// Note: broadcastMediaMetadata uses mutexes and conditions from activeRemoteRequests
|
// Note: broadcastMediaMetadata uses mutexes and conditions from activeRemoteRequests
|
||||||
defer r.broadcastMediaMetadata(activeRemoteRequests, errorResponse)
|
defer func() {
|
||||||
|
// Note: errorResponse is the named return variable so we wrap this in a closure to re-evaluate the arguments at defer-time
|
||||||
|
r.broadcastMediaMetadata(activeRemoteRequests, errorResponse)
|
||||||
|
}()
|
||||||
|
|
||||||
// check if we have a record of the media in our database
|
// check if we have a record of the media in our database
|
||||||
mediaMetadata, err := db.GetMediaMetadata(r.MediaMetadata.MediaID, r.MediaMetadata.Origin)
|
mediaMetadata, err := db.GetMediaMetadata(r.MediaMetadata.MediaID, r.MediaMetadata.Origin)
|
||||||
|
|
Loading…
Reference in a new issue