Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 161 for locks (0.16 sec)

  1. internal/dsync/dsync_test.go

    		dm2nd.Lock(id, source)
    
    		// Release lock after 10 seconds
    		go func() {
    			time.Sleep(2 * testDrwMutexAcquireTimeout)
    			// fmt.Println("Unlocking dm2")
    
    			dm2nd.Unlock(context.Background())
    		}()
    
    		dm3rd.Lock(id, source)
    
    		// fmt.Printf("3rd lock obtained after 1st & 2nd locks are released\n")
    		time.Sleep(testDrwMutexRefreshCallTimeout)
    
    		dm3rd.Unlock(context.Background())
    	}()
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Sat Dec 24 03:49:07 GMT 2022
    - 11K bytes
    - Viewed (0)
  2. internal/dsync/dsync-server_test.go

    	}
    }
    
    const WriteLock = -1
    
    type lockServer struct {
    	mutex sync.Mutex
    	// Map of locks, with negative value indicating (exclusive) write lock
    	// and positive values indicating number of read locks
    	lockMap map[string]int64
    
    	// Refresh returns lock not found if set to true
    	lockNotFound bool
    
    	// Set to true if you want peers servers to do not respond
    	responseDelay int64
    }
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Mon Jan 23 16:46:37 GMT 2023
    - 8.3K bytes
    - Viewed (0)
  3. internal/lock/lock.go

    // has reached zero, i.e when all the readers have given up their locks.
    type RLockedFile struct {
    	*LockedFile
    	mutex sync.Mutex
    	refs  int // Holds read lock refs.
    }
    
    // IsClosed - Check if the rlocked file is already closed.
    func (r *RLockedFile) IsClosed() bool {
    	r.mutex.Lock()
    	defer r.mutex.Unlock()
    	return r.refs == 0
    }
    
    // IncLockRef - is used by called to indicate lock refs.
    func (r *RLockedFile) IncLockRef() {
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Sun Jan 02 17:15:06 GMT 2022
    - 2.5K bytes
    - Viewed (0)
  4. 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
    
    	// Source contains the line number, function and file name of the code
    	// on the client node that requested the lock.
    	Source string
    
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu Jan 18 04:34:26 GMT 2024
    - 1.7K bytes
    - Viewed (0)
  5. cmd/erasure-common.go

    	}
    
    	ignoredErrs := []error{
    		errFileNotFound,
    		errVolumeNotFound,
    		errFileVersionNotFound,
    		io.ErrUnexpectedEOF, // some times we would read without locks, ignore these errors
    		io.EOF,              // some times we would read without locks, ignore these errors
    		context.DeadlineExceeded,
    		context.Canceled,
    	}
    	ignoredErrs = append(ignoredErrs, objectOpIgnoredErrs...)
    
    	errs := g.Wait()
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Sun Apr 28 17:53:50 GMT 2024
    - 4.6K bytes
    - Viewed (0)
  6. cmd/namespace-lock.go

    	*lsync.LRWMutex
    }
    
    // nsLockMap - namespace lock map, provides primitives to Lock,
    // Unlock, RLock and RUnlock.
    type nsLockMap struct {
    	// Indicates if namespace is part of a distributed setup.
    	isDistErasure bool
    	lockMap       map[string]*nsLock
    	lockMapMutex  sync.Mutex
    }
    
    // Lock the namespace resource.
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Mon Jun 05 23:56:35 GMT 2023
    - 9.2K bytes
    - Viewed (0)
  7. cmd/metacache-manager.go

    func (m *metacacheManager) deleteBucketCache(bucket string) {
    	m.init.Do(m.initManager)
    	m.mu.Lock()
    	b, ok := m.buckets[bucket]
    	if !ok {
    		m.mu.Unlock()
    		return
    	}
    	delete(m.buckets, bucket)
    	m.mu.Unlock()
    
    	// Since deletes may take some time we try to do it without
    	// holding lock to m all the time.
    	b.mu.Lock()
    	defer b.mu.Unlock()
    	for k, v := range b.caches {
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Tue Oct 25 00:44:15 GMT 2022
    - 5.2K bytes
    - Viewed (0)
  8. internal/lsync/lrwmutex.go

    }
    
    // RLock holds a read lock on lm.
    //
    // If one or more read lock are already in use, it will grant another lock.
    // Otherwise the calling go routine blocks until the mutex is available.
    func (lm *LRWMutex) RLock() {
    	const isWriteLock = false
    	lm.lockLoop(context.Background(), lm.id, lm.source, 1<<63-1, isWriteLock)
    }
    
    // GetRLock tries to get a read lock on lm before the timeout occurs.
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Sun Jan 02 17:15:06 GMT 2022
    - 4.8K bytes
    - Viewed (0)
  9. internal/dsync/drwmutex.go

    		case <-ctx.Done():
    			return false
    		default:
    			// Try to acquire the lock.
    			if locked = lock(ctx, dm.clnt, &locks, id, source, isReadLock, tolerance, quorum, dm.Names...); locked {
    				dm.m.Lock()
    
    				// If success, copy array to object
    				if isReadLock {
    					copy(dm.readLocks, locks)
    				} else {
    					copy(dm.writeLocks, locks)
    				}
    
    				dm.m.Unlock()
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu Feb 22 06:26:06 GMT 2024
    - 19.7K bytes
    - Viewed (0)
  10. cmd/local-locker_test.go

    	rng := rand.New(rand.NewSource(0))
    	// Numbers of unique locks
    	for _, locks := range []int{100, 1000, 1e6} {
    		if testing.Short() && locks > 100 {
    			continue
    		}
    		t.Run(fmt.Sprintf("%d-locks", locks), func(t *testing.T) {
    			// Number of readers per lock...
    			for _, readers := range []int{1, 10, 100} {
    				if locks > 1000 && readers > 1 {
    					continue
    				}
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Sun Mar 05 04:57:35 GMT 2023
    - 11.8K bytes
    - Viewed (0)
Back to top