Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 447 for locked (0.08 sec)

  1. internal/lsync/lrwmutex_test.go

    	wl := NewLRWMutex()
    	var rl sync.Locker
    	wlocked := make(chan bool, 1)
    	rlocked := make(chan bool, 1)
    	rl = wl.DRLocker()
    	n := 10
    	go func() {
    		for i := 0; i < n; i++ {
    			rl.Lock()
    			rl.Lock()
    			rlocked <- true
    			wl.Lock()
    			wlocked <- true
    		}
    	}()
    	for i := 0; i < n; i++ {
    		<-rlocked
    		rl.Unlock()
    		select {
    		case <-wlocked:
    			t.Fatal("RLocker() didn't read-lock it")
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Mar 05 04:57:35 UTC 2023
    - 7.9K bytes
    - Viewed (0)
  2. internal/dsync/drwmutex_test.go

    	}
    	// fmt.Println("Write lock failed due to timeout")
    	return
    }
    
    func TestSimpleWriteLockAcquired(t *testing.T) {
    	locked := testSimpleWriteLock(t, 10*testDrwMutexAcquireTimeout)
    
    	expected := true
    	if locked != expected {
    		t.Errorf("TestSimpleWriteLockAcquired(): \nexpected %#v\ngot      %#v", expected, locked)
    	}
    }
    
    func TestSimpleWriteLockTimedOut(t *testing.T) {
    	locked := testSimpleWriteLock(t, testDrwMutexAcquireTimeout)
    
    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/lock/lock.go

    // Package lock - implements filesystem locking wrappers around an
    // open file descriptor.
    package lock
    
    import (
    	"errors"
    	"os"
    	"sync"
    )
    
    // ErrAlreadyLocked is returned if the underlying fd is already locked.
    var ErrAlreadyLocked = errors.New("file already locked")
    
    // RLockedFile represents a read locked file, implements a special
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Jan 02 17:15:06 UTC 2022
    - 2.5K bytes
    - Viewed (0)
  4. internal/lsync/lrwmutex.go

    	const isWriteLock = false
    	return lm.lockLoop(ctx, id, source, timeout, isWriteLock)
    }
    
    func (lm *LRWMutex) lock(id, source string, isWriteLock bool) (locked bool) {
    	lm.mu.Lock()
    	defer lm.mu.Unlock()
    
    	lm.id = id
    	lm.source = source
    	if isWriteLock {
    		if lm.ref == 0 && !lm.isWriteLock {
    			lm.ref = 1
    			lm.isWriteLock = true
    			locked = true
    		}
    	} else {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Jan 02 17:15:06 UTC 2022
    - 4.8K bytes
    - Viewed (0)
  5. internal/dsync/drwmutex.go

    			if sendRelease(ctx, ds, restClnts[lockID], owner, (*locks)[lockID], isReadLock, names...) {
    				(*locks)[lockID] = ""
    			}
    		}(lockID)
    	}
    	wg.Wait()
    
    	// Return true if releaseAll was successful, otherwise we return 'false'
    	// to indicate we haven't sufficiently unlocked lockers to avoid deadlocks.
    	//
    	// Caller may use this as an indication to call again.
    	return !checkFailedUnlocks(*locks, tolerance)
    }
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 09 15:49:49 UTC 2024
    - 20.4K bytes
    - Viewed (0)
  6. internal/lock/lock_test.go

    	}
    
    	// unlock the file
    	if err = l.Close(); err != nil {
    		t.Fatal(err)
    	}
    
    	// try lock the unlocked file
    	dupl, err := LockedOpenFile(f.Name(), os.O_WRONLY|os.O_CREATE, 0o600)
    	if err != nil {
    		t.Errorf("err = %v, want %v", err, nil)
    	}
    
    	// blocking on locked file
    	locked := make(chan struct{}, 1)
    	go func() {
    		bl, blerr := LockedOpenFile(f.Name(), os.O_WRONLY, 0o600)
    		if blerr != nil {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 19 18:05:16 UTC 2022
    - 3.6K bytes
    - Viewed (0)
  7. internal/dsync/lock-args.go

    // LockArgs is minimal required values for any dsync compatible lock operation.
    type LockArgs struct {
    	// Unique ID of lock/unlock request.
    	UID string
    
    	// Resources contains single or multiple entries to be locked/unlocked.
    	Resources []string
    
    	// Owner represents unique ID for this instance, an owner who originally requested
    	// the locked resource, useful primarily in figuring out stale locks.
    	Owner string
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Jul 24 10:24:01 UTC 2024
    - 1.8K bytes
    - Viewed (0)
  8. cmd/namespace-lock.go

    	} else {
    		locked = nsLk.GetLock(ctx, opsID, lockSource, timeout)
    	}
    
    	if !locked { // We failed to get the lock
    		// Decrement ref count since we failed to get the lock
    		n.lockMapMutex.Lock()
    		n.lockMap[resource].ref--
    		if n.lockMap[resource].ref < 0 {
    			logger.CriticalIf(GlobalContext, errors.New("resource reference count was lower than 0"))
    		}
    		if n.lockMap[resource].ref == 0 {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Sep 29 22:40:36 UTC 2024
    - 9.2K bytes
    - Viewed (0)
  9. internal/grid/muxserver.go

    	}
    	// Unlock, since we are calling deleteMux, which will call close - which will lock recvMu.
    	if locked {
    		m.recvMu.Unlock()
    		defer m.recvMu.Lock()
    	}
    	m.parent.deleteMux(true, m.ID)
    }
    
    func (m *muxServer) send(msg message) {
    	m.sendMu.Lock()
    	defer m.sendMu.Unlock()
    	msg.MuxID = m.ID
    	msg.Seq = m.SendSeq
    	m.SendSeq++
    	if debugPrint {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Jun 07 15:51:52 UTC 2024
    - 9.7K bytes
    - Viewed (0)
  10. cni/pkg/nodeagent/netns_linux.go

    		}
    		defer func() {
    			err := threadNS.Set() // switch back
    			if err == nil {
    				// Unlock the current thread only when we successfully switched back
    				// to the original namespace; otherwise leave the thread locked which
    				// will force the runtime to scrap the current thread, that is maybe
    				// not as optimal but at least always safe to do.
    				runtime.UnlockOSThread()
    			}
    		}()
    
    		return toRun()
    	}
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Jan 31 10:05:36 UTC 2024
    - 2.7K bytes
    - Viewed (0)
Back to top