Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 38 for SafeClose (0.06 sec)

  1. cmd/service.go

    		// Set to a nil channel.
    		var _ch chan struct{}
    		if val := globalServiceFreeze.Swap(_ch); val != nil {
    			if ch, ok := val.(chan struct{}); ok && ch != nil {
    				// Close previous non-nil channel.
    				xioutil.SafeClose(ch)
    			}
    		}
    		globalServiceFreezeCnt = 0 // Don't risk going negative.
    	}
    	globalServiceFreezeMu.Unlock()
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Feb 28 07:02:14 UTC 2024
    - 3.8K bytes
    - Viewed (0)
  2. internal/ioutil/ioutil.go

    			// that we promised that we would write.
    			if totalSize > 0 && written != totalSize {
    				return written, io.ErrUnexpectedEOF
    			}
    			return written, nil
    		}
    	}
    }
    
    // SafeClose safely closes any channel of any type
    func SafeClose[T any](c chan<- T) {
    	if c != nil {
    		close(c)
    		return
    	}
    	// Print stack to check who is sending `c` as `nil`
    	// without crashing the server.
    	debug.PrintStack()
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Jul 26 12:55:01 UTC 2024
    - 10.9K bytes
    - Viewed (0)
  3. cmd/speedtest.go

    }
    
    // Get the max throughput and iops numbers.
    func objectSpeedTest(ctx context.Context, opts speedTestOpts) chan madmin.SpeedTestResult {
    	ch := make(chan madmin.SpeedTestResult, 1)
    	go func() {
    		defer xioutil.SafeClose(ch)
    
    		concurrency := opts.concurrencyStart
    
    		if opts.autotune {
    			// if we have less drives than concurrency then choose
    			// only the concurrency to be number of drives to start
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon May 06 09:45:10 UTC 2024
    - 9.2K bytes
    - Viewed (0)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. cmd/ftp-server-driver.go

    		return clnt.RemoveBucket(cctx, bucket)
    	}
    
    	objectsCh := make(chan minio.ObjectInfo)
    
    	// Send object names that are needed to be removed to objectsCh
    	go func() {
    		defer xioutil.SafeClose(objectsCh)
    		opts := minio.ListObjectsOptions{
    			Prefix:    prefix,
    			Recursive: true,
    		}
    		for object := range clnt.ListObjects(cctx, bucket, opts) {
    			if object.Err != nil {
    				return
    			}
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Aug 14 17:11:51 UTC 2024
    - 14K bytes
    - Viewed (0)
  9. 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)
  10. internal/logger/target/kafka/kafka.go

    		h.storeCtxCancel()
    	}
    
    	// Set logch to nil and close it.
    	// This will block all Send operations,
    	// and finish the existing ones.
    	// All future ones will be discarded.
    	h.logChMu.Lock()
    	xioutil.SafeClose(h.logCh)
    	h.logCh = nil
    	h.logChMu.Unlock()
    
    	if h.producer != nil {
    		h.producer.Close()
    		h.client.Close()
    	}
    
    	// Wait for messages to be sent...
    	h.wg.Wait()
    }
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Sep 06 23:06:30 UTC 2024
    - 10.2K bytes
    - Viewed (0)
Back to top