Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 21 for SafeClose (0.07 sec)

  1. cmd/batch-expire.go

    				VersionsSort: WalkVersionsSortDesc,
    			})
    			if err != nil {
    				cancelCause(err)
    				xioutil.SafeClose(results)
    				return
    			}
    			for result := range prefixResultCh {
    				results <- result
    			}
    		}
    		xioutil.SafeClose(results)
    	}()
    
    	// Goroutine to periodically save batch-expire job's in-memory state
    	saverQuitCh := make(chan struct{})
    	go func() {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Sep 18 17:59:03 UTC 2024
    - 21.9K bytes
    - Viewed (0)
  2. internal/grid/handlers.go

    		}
    		go func() {
    			defer xioutil.SafeClose(stream.Requests)
    			for req := range reqT {
    				b, err := req.MarshalMsg(GetByteBufferCap(req.Msgsize()))
    				if err != nil {
    					gridLogOnceIf(ctx, err, err.Error())
    				}
    				h.PutRequest(req)
    				stream.Requests <- b
    			}
    		}()
    	} else if stream.Requests != nil {
    		xioutil.SafeClose(stream.Requests)
    	}
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 09 16:58:30 UTC 2024
    - 27.7K bytes
    - Viewed (0)
  3. internal/store/store.go

    // replayItems - Reads the items from the store and replays.
    func replayItems[I any](store Store[I], doneCh <-chan struct{}, log logger, id string) <-chan Key {
    	keyCh := make(chan Key)
    
    	go func() {
    		defer xioutil.SafeClose(keyCh)
    
    		retryTicker := time.NewTicker(retryInterval)
    		defer retryTicker.Stop()
    
    		for {
    			for _, key := range store.List() {
    				select {
    				case keyCh <- key:
    				// Get next key.
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Sep 06 23:06:30 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  4. cmd/erasure.go

    		}
    	}
    	for _, idx := range permutes {
    		b := buckets[idx]
    		if e := oldCache.find(b.Name); e != nil {
    			cache.replace(b.Name, dataUsageRoot, *e)
    			bucketCh <- b
    		}
    	}
    	xioutil.SafeClose(bucketCh)
    
    	bucketResults := make(chan dataUsageEntryInfo, len(disks))
    
    	// Start async collector/saver.
    	// This goroutine owns the cache.
    	var saverWg sync.WaitGroup
    	saverWg.Add(1)
    	go func() {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Oct 04 22:23:33 UTC 2024
    - 16.1K bytes
    - Viewed (0)
  5. cmd/batch-handlers.go

    					Marker:   lastObject,
    					Filter:   selectObj,
    					AskDisks: walkQuorum,
    				}); err != nil {
    					cancelCause(err)
    					xioutil.SafeClose(walkCh)
    					return
    				}
    				for obj := range prefixWalkCh {
    					walkCh <- obj
    				}
    			}
    			xioutil.SafeClose(walkCh)
    		}()
    
    		prevObj := ""
    
    		skipReplicate := false
    		for res := range slowCh {
    			if res.Err != nil {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Oct 18 15:32:09 UTC 2024
    - 62.2K bytes
    - Viewed (0)
  6. cmd/storage-rest-client.go

    	return nil
    }
    
    func (client *storageRESTClient) NSScanner(ctx context.Context, cache dataUsageCache, updates chan<- dataUsageEntry, scanMode madmin.HealScanMode, _ func() bool) (dataUsageCache, error) {
    	defer xioutil.SafeClose(updates)
    
    	st, err := storageNSScannerRPC.Call(ctx, client.gridConn, &nsScannerOptions{
    		DiskID:   *client.diskID.Load(),
    		ScanMode: int(scanMode),
    		Cache:    &cache,
    	})
    	if err != nil {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Oct 13 13:07:21 UTC 2024
    - 30.2K bytes
    - Viewed (0)
  7. cmd/erasure-decode.go

    	if p.offset+p.shardSize > p.shardFileSize {
    		p.shardSize = p.shardFileSize - p.offset
    	}
    	if p.shardSize == 0 {
    		return newBuf, nil
    	}
    
    	readTriggerCh := make(chan bool, len(p.readers))
    	defer xioutil.SafeClose(readTriggerCh) // close the channel upon return
    
    	for i := 0; i < p.dataBlocks; i++ {
    		// Setup read triggers for p.dataBlocks number of reads so that it reads in parallel.
    		readTriggerCh <- true
    	}
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Thu Aug 29 01:40:52 UTC 2024
    - 9.5K bytes
    - Viewed (0)
  8. internal/dsync/drwmutex.go

    			// Refreshing is canceled
    			return false, ctx.Err()
    		}
    		if done {
    			break
    		}
    	}
    
    	// We may have some unused results in ch, release them async.
    	go func() {
    		wg.Wait()
    		xioutil.SafeClose(ch)
    		for range ch {
    		}
    	}()
    
    	noQuorum := lockNotFound > len(restClnts)-quorum
    	return noQuorum, nil
    }
    
    // lock tries to acquire the distributed lock, returning true or false.
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Sep 09 15:49:49 UTC 2024
    - 20.4K bytes
    - Viewed (0)
  9. cmd/xl-storage-disk-id-check.go

    	if contextCanceled(ctx) {
    		xioutil.SafeClose(updates)
    		return dataUsageCache{}, ctx.Err()
    	}
    
    	if err := p.checkDiskStale(); err != nil {
    		xioutil.SafeClose(updates)
    		return dataUsageCache{}, err
    	}
    
    	weSleep := func() bool {
    		return scannerIdleMode.Load() == 0
    	}
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sat Oct 26 09:56:26 UTC 2024
    - 34.5K bytes
    - Viewed (0)
  10. cmd/erasure-server-pool.go

    			disks, infos, _ := set.getOnlineDisksWithHealingAndInfo(true)
    			if len(disks) == 0 {
    				xioutil.SafeClose(results)
    				err := fmt.Errorf("Walk: no online disks found in (set:%d pool:%d) %w", setIdx, poolIdx, errErasureReadQuorum)
    				cancelCause(err)
    				return err
    			}
    			go func() {
    				defer xioutil.SafeClose(listOut)
    				send := func(e metaCacheEntry) {
    					if e.isDir() {
    						// Ignore directories.
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Sep 29 22:40:36 UTC 2024
    - 89.8K bytes
    - Viewed (0)
Back to top