Search Options

Results per page
Sort
Preferred Languages
Advance

Results 21 - 30 of 182 for lockedm (0.17 sec)

  1. src/runtime/lock_futex.go

    		// Sleep for an arbitrary-but-moderate interval to poll libc interceptors.
    		ns = 10e6
    	}
    	for atomic.Load(key32(&n.key)) == 0 {
    		gp.m.blocked = true
    		futexsleep(key32(&n.key), 0, ns)
    		if *cgo_yield != nil {
    			asmcgocall(*cgo_yield, nil)
    		}
    		gp.m.blocked = false
    	}
    }
    
    // May run with m.p==nil if called from notetsleep, so write barriers
    // are not allowed.
    //
    //go:nosplit
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:34 UTC 2024
    - 5.4K bytes
    - Viewed (0)
  2. src/net/net.go

    listed in /etc/resolv.conf, or it can use a cgo-based resolver that calls C
    library routines such as getaddrinfo and getnameinfo.
    
    On Unix the pure Go resolver is preferred over the cgo resolver, because a blocked DNS
    request consumes only a goroutine, while a blocked C call consumes an operating system thread.
    When cgo is available, the cgo-based resolver is used instead under a variety of
    conditions: on systems that do not let programs make direct DNS requests (OS X),
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 26.8K bytes
    - Viewed (0)
  3. src/internal/trace/testdata/testprog/stress.go

    // blocked goroutines, LockOSThread, pipes, and GOMAXPROCS).
    
    //go:build ignore
    
    package main
    
    import (
    	"log"
    	"net"
    	"os"
    	"runtime"
    	"runtime/trace"
    	"sync"
    	"time"
    )
    
    func main() {
    	var wg sync.WaitGroup
    	done := make(chan bool)
    
    	// Create a goroutine blocked before tracing.
    	wg.Add(1)
    	go func() {
    		<-done
    		wg.Done()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 2.5K bytes
    - Viewed (0)
  4. src/runtime/chan.go

    }
    
    // send processes a send operation on an empty channel c.
    // The value ep sent by the sender is copied to the receiver sg.
    // The receiver is then woken up to go on its merry way.
    // Channel c must be empty and locked.  send unlocks c with unlockf.
    // sg must already be dequeued from c.
    // ep must be non-nil and point to the heap or the caller's stack.
    func send(c *hchan, sg *sudog, ep unsafe.Pointer, unlockf func(), skip int) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:16:50 UTC 2024
    - 25.9K bytes
    - Viewed (0)
  5. src/internal/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go

    	g := t.Generation(1)
    
    	// Steal proc from a goroutine that's been blocked
    	// in a syscall the entire generation.
    	b0 := g.Batch(trace.ThreadID(0), 0)
    	b0.Event("ProcStatus", trace.ProcID(0), go122.ProcSyscallAbandoned)
    	b0.Event("ProcSteal", trace.ProcID(0), testgen.Seq(1), trace.ThreadID(1))
    
    	// Status event for a goroutine blocked in a syscall for the entire generation.
    	bz := g.Batch(trace.NoThread, 0)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 21:15:28 UTC 2024
    - 946 bytes
    - Viewed (0)
  6. src/cmd/trace/gstate.go

    // and orthogonal to syscallEnd; both must be called if the syscall blocked. This sets up an instant
    // to emit a flow event from, indicating explicitly that this goroutine was unblocked by the system.
    func (gs *gState[R]) blockedSyscallEnd(ts trace.Time, stack trace.Stack, ctx *traceContext) {
    	name := "exit blocked syscall"
    	gs.setStartCause(ts, name, trace.SyscallP, stack)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 11.9K bytes
    - Viewed (0)
  7. src/cmd/trace/jsontrace_test.go

    	return parts[1]
    }
    
    // filterBlocked returns an event filter that returns true if the event's
    // "blocked" argument is equal to blocked.
    func filterBlocked(blocked string) eventFilterFn {
    	return func(e *format.Event, _ *format.Data) bool {
    		m, ok := e.Arg.(map[string]any)
    		if !ok {
    			return false
    		}
    		return m["blocked"] == blocked
    	}
    }
    
    // filterStackRootFunc returns an event filter that returns true if the function
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 7.8K bytes
    - Viewed (0)
  8. src/internal/trace/testdata/testprog/wait-on-pipe.go

    // Copyright 2023 The Go Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    // Tests a goroutine sitting blocked in a syscall for
    // an entire generation. This is a regression test for
    // #65196.
    
    //go:build ignore
    
    package main
    
    import (
    	"log"
    	"os"
    	"runtime/trace"
    	"syscall"
    	"time"
    )
    
    func main() {
    	// Create a pipe to block on.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 1.6K bytes
    - Viewed (0)
  9. src/cmd/trace/procgen.go

    	if from == trace.GoNotExist && to == trace.GoRunnable {
    		// Goroutine was created.
    		gs.created(ev.Time(), ev.Proc(), ev.Stack())
    	}
    	if from == trace.GoSyscall && to != trace.GoRunning {
    		// Goroutine exited a blocked syscall.
    		gs.blockedSyscallEnd(ev.Time(), ev.Stack(), ctx)
    	}
    
    	// Handle syscalls.
    	if to == trace.GoSyscall && ev.Proc() != trace.NoProc {
    		start := ev.Time()
    		if from == trace.GoUndetermined {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 6.1K bytes
    - Viewed (0)
  10. staging/src/k8s.io/apiserver/pkg/storage/cacher/watch_cache_interval.go

    	// possible, Locker obtained through RLocker() is provided.
    	lock sync.Locker
    }
    
    type attrFunc func(runtime.Object) (labels.Set, fields.Set, error)
    type indexerFunc func(int) *watchCacheEvent
    type indexValidator func(int) bool
    
    func newCacheInterval(startIndex, endIndex int, indexer indexerFunc, indexValidator indexValidator, locker sync.Locker) *watchCacheInterval {
    	return &watchCacheInterval{
    Registered: Sat Jun 15 01:39:40 UTC 2024
    - Last Modified: Tue Jun 04 09:20:10 UTC 2024
    - 8.2K bytes
    - Viewed (0)
Back to top