Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for NewDRWMutex (0.13 sec)

  1. internal/dsync/dsync_test.go

    }
    
    // Test three locks for same resource, one succeeds, one fails (after timeout)
    func TestThreeSimultaneousLocksForSameResource(t *testing.T) {
    	dm1st := NewDRWMutex(ds, "aap")
    	dm2nd := NewDRWMutex(ds, "aap")
    	dm3rd := NewDRWMutex(ds, "aap")
    
    	dm1st.Lock(id, source)
    	started := time.Now()
    	var expect time.Duration
    	// Release lock after 10 seconds
    	go func() {
    		// TOTAL
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Jun 19 14:35:19 UTC 2024
    - 11.1K bytes
    - Viewed (0)
  2. internal/dsync/drwmutex_test.go

    func testSimpleWriteLock(t *testing.T, duration time.Duration) (locked bool) {
    	drwm1 := NewDRWMutex(ds, "simplelock")
    	ctx1, cancel1 := context.WithCancel(context.Background())
    	if !drwm1.GetRLock(ctx1, cancel1, id, source, Options{Timeout: time.Second}) {
    		panic("Failed to acquire read lock")
    	}
    	// fmt.Println("1st read lock acquired, waiting...")
    
    	drwm2 := NewDRWMutex(ds, "simplelock")
    	ctx2, cancel2 := context.WithCancel(context.Background())
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sat Dec 24 03:49:07 UTC 2022
    - 9.7K bytes
    - Viewed (0)
  3. internal/dsync/drwmutex.go

    }
    
    func (g *Granted) isLocked() bool {
    	return isLocked(g.lockUID)
    }
    
    func isLocked(uid string) bool {
    	return len(uid) > 0
    }
    
    // NewDRWMutex - initializes a new dsync RW mutex.
    func NewDRWMutex(clnt *Dsync, names ...string) *DRWMutex {
    	restClnts, _ := clnt.GetLockers()
    	sort.Strings(names)
    	return &DRWMutex{
    		writeLocks:           make([]string, len(restClnts)),
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 09 15:49:49 UTC 2024
    - 20.4K bytes
    - Viewed (0)
  4. cmd/namespace-lock.go

    func (n *nsLockMap) NewNSLock(lockers func() ([]dsync.NetLocker, string), volume string, paths ...string) RWLocker {
    	sort.Strings(paths)
    	opsID := mustGetUUID()
    	if n.isDistErasure {
    		drwmutex := dsync.NewDRWMutex(&dsync.Dsync{
    			GetLockers: lockers,
    			Timeouts:   dsync.DefaultTimeouts,
    		}, pathsJoinPrefix(volume, paths...)...)
    		return &distLockInstance{drwmutex, opsID}
    	}
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Sep 29 22:40:36 UTC 2024
    - 9.2K bytes
    - Viewed (0)
Back to top