diff options
Diffstat (limited to 'internal/federation/dereferencing')
| -rw-r--r-- | internal/federation/dereferencing/account.go | 7 | ||||
| -rw-r--r-- | internal/federation/dereferencing/emoji.go | 3 | ||||
| -rw-r--r-- | internal/federation/dereferencing/status.go | 2 | ||||
| -rw-r--r-- | internal/federation/dereferencing/util.go | 11 | 
4 files changed, 7 insertions, 16 deletions
| diff --git a/internal/federation/dereferencing/account.go b/internal/federation/dereferencing/account.go index d51d3078e..86ea9b7fd 100644 --- a/internal/federation/dereferencing/account.go +++ b/internal/federation/dereferencing/account.go @@ -37,6 +37,7 @@ import (  	"github.com/superseriousbusiness/gotosocial/internal/log"  	"github.com/superseriousbusiness/gotosocial/internal/media"  	"github.com/superseriousbusiness/gotosocial/internal/transport" +	"github.com/superseriousbusiness/gotosocial/internal/util"  )  // accountUpToDate returns whether the given account model is both updateable (i.e. @@ -384,7 +385,7 @@ func (d *Dereferencer) enrichAccountSafely(  	// to safely defer in case of panic, while still  	// performing more granular unlocks when needed.  	unlock := d.state.FedLocks.Lock(uriStr) -	unlock = doOnce(unlock) +	unlock = util.DoOnce(unlock)  	defer unlock()  	// Perform status enrichment with passed vars. @@ -735,7 +736,7 @@ func (d *Dereferencer) fetchRemoteAccountAvatar(ctx context.Context, tsport tran  	// Acquire lock for derefs map.  	unlock := d.state.FedLocks.Lock(latestAcc.AvatarRemoteURL) -	unlock = doOnce(unlock) +	unlock = util.DoOnce(unlock)  	defer unlock()  	// Look for an existing dereference in progress. @@ -821,7 +822,7 @@ func (d *Dereferencer) fetchRemoteAccountHeader(ctx context.Context, tsport tran  	// Acquire lock for derefs map.  	unlock := d.state.FedLocks.Lock(latestAcc.HeaderRemoteURL) -	unlock = doOnce(unlock) +	unlock = util.DoOnce(unlock)  	defer unlock()  	// Look for an existing dereference in progress. diff --git a/internal/federation/dereferencing/emoji.go b/internal/federation/dereferencing/emoji.go index 1bf19d2fd..009191780 100644 --- a/internal/federation/dereferencing/emoji.go +++ b/internal/federation/dereferencing/emoji.go @@ -28,6 +28,7 @@ import (  	"github.com/superseriousbusiness/gotosocial/internal/id"  	"github.com/superseriousbusiness/gotosocial/internal/log"  	"github.com/superseriousbusiness/gotosocial/internal/media" +	"github.com/superseriousbusiness/gotosocial/internal/util"  )  func (d *Dereferencer) GetRemoteEmoji(ctx context.Context, requestingUsername string, remoteURL string, shortcode string, domain string, id string, emojiURI string, ai *media.AdditionalEmojiInfo, refresh bool) (*media.ProcessingEmoji, error) { @@ -44,7 +45,7 @@ func (d *Dereferencer) GetRemoteEmoji(ctx context.Context, requestingUsername st  	// Acquire lock for derefs map.  	unlock := d.state.FedLocks.Lock(remoteURL) -	unlock = doOnce(unlock) +	unlock = util.DoOnce(unlock)  	defer unlock()  	// first check if we're already processing this emoji diff --git a/internal/federation/dereferencing/status.go b/internal/federation/dereferencing/status.go index 56032f351..71cc5c530 100644 --- a/internal/federation/dereferencing/status.go +++ b/internal/federation/dereferencing/status.go @@ -295,7 +295,7 @@ func (d *Dereferencer) enrichStatusSafely(  	// to safely defer in case of panic, while still  	// performing more granular unlocks when needed.  	unlock := d.state.FedLocks.Lock(uriStr) -	unlock = doOnce(unlock) +	unlock = util.DoOnce(unlock)  	defer unlock()  	// Perform status enrichment with passed vars. diff --git a/internal/federation/dereferencing/util.go b/internal/federation/dereferencing/util.go index c37f2d82d..38622f6c1 100644 --- a/internal/federation/dereferencing/util.go +++ b/internal/federation/dereferencing/util.go @@ -23,17 +23,6 @@ import (  	"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"  ) -// doOnce wraps a function to only perform it once. -func doOnce(fn func()) func() { -	var once int32 -	return func() { -		if once == 0 { -			fn() -			once = 1 -		} -	} -} -  // pollChanged returns whether a poll has changed in way that  // indicates that this should be an entirely new poll. i.e. if  // the available options have changed, or the expiry has increased. | 
