Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 9 of 9 for unblocking (0.17 sec)

  1. internal/lock/lock_test.go

    	}()
    
    	select {
    	case <-locked:
    		t.Error("unexpected unblocking")
    	case <-time.After(100 * time.Millisecond):
    	}
    
    	// unlock
    	if err = dupl.Close(); err != nil {
    		t.Fatal(err)
    	}
    
    	// the previously blocked routine should be unblocked
    	select {
    	case <-locked:
    	case <-time.After(1 * time.Second):
    		t.Error("unexpected blocking")
    	}
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Mon Sep 19 18:05:16 GMT 2022
    - 3.6K bytes
    - Viewed (0)
  2. internal/lock/lock_nix.go

    // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    package lock
    
    import (
    	"os"
    	"syscall"
    )
    
    // Internal function implements support for both
    // blocking and non blocking lock type.
    func lockedOpenFile(path string, flag int, perm os.FileMode, lockType int) (*LockedFile, error) {
    	switch flag {
    	case syscall.O_RDONLY:
    		lockType |= syscall.LOCK_SH
    	case syscall.O_WRONLY:
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu Aug 19 01:35:22 GMT 2021
    - 2.8K bytes
    - Viewed (0)
  3. cmd/listen-notification-handlers.go

    			return
    		}
    	}
    
    	rulesMap := event.NewRulesMap(eventNames, pattern, event.TargetID{ID: mustGetUUID()})
    
    	setEventStreamHeaders(w)
    
    	// Listen Publisher and peer-listen-client uses nonblocking send and hence does not wait for slow receivers.
    	// Use buffered channel to take care of burst sends or slow w.Write()
    	mergeCh := make(chan []byte, globalAPIConfig.getRequestsPoolCapacity()*len(globalEndpoints.Hostnames()))
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu Apr 04 12:04:40 GMT 2024
    - 6K bytes
    - Viewed (0)
  4. internal/logger/logrotate.go

    	// or when files are being rotated.
    	f *os.File
    
    	pw *xioutil.PipeWriter
    	pr *xioutil.PipeReader
    }
    
    // Write writes p into the current file, rotating if necessary.
    // Write is non-blocking, if the writer's queue is not full.
    // Write is blocking otherwise.
    func (w *Writer) Write(p []byte) (n int, err error) {
    	return w.pw.Write(p)
    }
    
    // Close closes the writer.
    // Any accepted writes will be flushed. Any new writes will be rejected.
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu May 02 11:38:40 GMT 2024
    - 5.8K bytes
    - Viewed (0)
  5. internal/bpool/bpool.go

    	}
    	return &BytePoolCap{
    		c:    make(chan []byte, maxSize),
    		w:    width,
    		wcap: capwidth,
    	}
    }
    
    // Populate - populates and pre-warms the byte pool, this function is non-blocking.
    func (bp *BytePoolCap) Populate() {
    	for _, buf := range reedsolomon.AllocAligned(cap(bp.c), bp.wcap) {
    		bp.Put(buf[:bp.w])
    	}
    }
    
    // Get gets a []byte from the BytePool, or creates a new one if none are
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Fri Apr 19 16:44:59 GMT 2024
    - 2.6K bytes
    - Viewed (0)
  6. internal/cachevalue/cache.go

    type Cache[T any] struct {
    	// updateFn must return an updated value.
    	// If an error is returned the cached value is not set.
    	// Only one caller will call this function at any time, others will be blocking.
    	// The returned value can no longer be modified once returned.
    	// Should be set before calling Get().
    	updateFn func() (T, error)
    
    	// ttl for a cached value.
    	ttl time.Duration
    
    	opts Opts
    
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Fri Mar 01 16:00:42 GMT 2024
    - 4.2K bytes
    - Viewed (0)
  7. cmd/main.go

    // Main main for minio server.
    func Main(args []string) {
    	// Set the minio app name.
    	appName := filepath.Base(args[0])
    
    	if env.Get("_MINIO_DEBUG_NO_EXIT", "") != "" {
    		freeze := func(_ int) {
    			// Infinite blocking op
    			<-make(chan struct{})
    		}
    
    		// Override the logger os.Exit()
    		logger.ExitFunc = freeze
    
    		defer func() {
    			if err := recover(); err != nil {
    				fmt.Println("panic:", err)
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Wed May 01 17:57:52 GMT 2024
    - 6.4K bytes
    - Viewed (0)
  8. internal/grid/muxserver.go

    			wg.Wait()
    			defer xioutil.SafeClose(handlerIn)
    			m.handleInbound(c, inbound, handlerIn)
    		}(m.inbound)
    	}
    	// Fill outbound block.
    	// Each token represents a message that can be sent to the client without blocking.
    	// The client will refill the tokens as they confirm delivery of the messages.
    	for i := 0; i < outboundCap; i++ {
    		m.outBlock <- struct{}{}
    	}
    
    	// Handler goroutine.
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu Apr 04 12:04:40 GMT 2024
    - 9.1K bytes
    - Viewed (0)
  9. internal/pubsub/pubsub.go

    	types          uint64
    	numSubscribers int32
    	maxSubscribers int32
    
    	// not atomics:
    	subs []*Sub[T]
    	sync.RWMutex
    }
    
    // Publish message to the subscribers.
    // Note that publish is always non-blocking send so that we don't block on slow receivers.
    // Hence receivers should use buffered channel so as not to miss the published events.
    func (ps *PubSub[T, M]) Publish(item T) {
    	ps.RLock()
    	defer ps.RUnlock()
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Tue Feb 06 16:57:30 GMT 2024
    - 5.2K bytes
    - Viewed (0)
Back to top