Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 595 for lockedm (0.43 sec)

  1. src/runtime/debugcall.go

    		// Transfer locked-ness to the new goroutine.
    		// Save lock state to restore later.
    		mp := gp.m
    		if mp != gp.lockedm.ptr() {
    			throw("inconsistent lockedm")
    		}
    		// Save the external lock count and clear it so
    		// that it can't be unlocked from the debug call.
    		// Note: we already locked internally to the thread,
    		// so if we were locked before we're still locked now.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 05 20:50:21 UTC 2024
    - 7.1K bytes
    - Viewed (0)
  2. src/runtime/coro.go

    		casgstatus(gnext, _Gwaiting, _Grunnable)
    		casgstatus(gnext, _Grunnable, _Grunning)
    	}
    
    	// Donate locked state.
    	if locked {
    		mp.lockedg.set(gnext)
    		gnext.lockedm.set(mp)
    	}
    
    	// Release the trace locker. We've completed all the necessary transitions..
    	if trace.ok() {
    		traceRelease(trace)
    	}
    
    	// Switch to gnext. Does not return.
    	gogo(&gnext.sched)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:09:18 UTC 2024
    - 7.4K bytes
    - Viewed (0)
  3. src/runtime/export_debug_test.go

    // will send SIGTRAP to thread ID tid. gp must be locked to its OS thread and
    // running.
    //
    // On success, InjectDebugCall returns the panic value of fn or nil.
    // If fn did not panic, its results will be available in args.
    func InjectDebugCall(gp *g, fn any, regArgs *abi.RegArgs, stackArgs any, tkill func(tid int) error, returnOnUnsafePoint bool) (any, error) {
    	if gp.lockedm == 0 {
    		return nil, plainError("goroutine not locked to thread")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 15:41:45 UTC 2024
    - 5.1K bytes
    - Viewed (0)
  4. src/runtime/tracestack.go

    			}
    		}
    	}
    
    	if gp != nil && mp == nil {
    		// We're getting the backtrace for a G that's not currently executing.
    		// It may still have an M, if it's locked to some M.
    		mp = gp.lockedm.ptr()
    	}
    	nstk := 1
    	if tracefpunwindoff() || (mp != nil && mp.hasCgoOnStack()) {
    		// Slow path: Unwind using default unwinder. Used when frame pointer
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 14:38:56 UTC 2024
    - 11K bytes
    - Viewed (0)
  5. src/runtime/proc.go

    		}
    		print(" mallocing=", mp.mallocing, " throwing=", mp.throwing, " preemptoff=", mp.preemptoff, " locks=", mp.locks, " dying=", mp.dying, " spinning=", mp.spinning, " blocked=", mp.blocked, " lockedg=")
    		if lockedg := mp.lockedg.ptr(); lockedg != nil {
    			print(lockedg.goid)
    		} else {
    			print("nil")
    		}
    		print("\n")
    	}
    
    	forEachG(func(gp *g) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 207.5K bytes
    - Viewed (0)
  6. src/runtime/export_test.go

    }
    
    func LockOSCounts() (external, internal uint32) {
    	gp := getg()
    	if gp.m.lockedExt+gp.m.lockedInt == 0 {
    		if gp.lockedm != 0 {
    			panic("lockedm on non-locked goroutine")
    		}
    	} else {
    		if gp.lockedm == 0 {
    			panic("nil lockedm on locked goroutine")
    		}
    	}
    	return gp.m.lockedExt, gp.m.lockedInt
    }
    
    //go:noinline
    func TracebackSystemstack(stk []uintptr, i int) int {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:50:53 UTC 2024
    - 46.1K bytes
    - Viewed (0)
  7. src/runtime/runtime2.go

    	preemptoff    string // if != "", keep curg running on this m
    	locks         int32
    	dying         int32
    	profilehz     int32
    	spinning      bool // m is out of work and is actively looking for work
    	blocked       bool // m is blocked on a note
    	newSigstack   bool // minit on C thread called sigaltstack
    	printlock     int8
    	incgo         bool          // m is executing a cgo call
    	isextra       bool          // m is an extra m
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 47.9K bytes
    - Viewed (0)
  8. src/sync/rwmutex_test.go

    	var wl RWMutex
    	var rl Locker
    	wlocked := make(chan bool, 1)
    	rlocked := make(chan bool, 1)
    	rl = wl.RLocker()
    	n := 10
    	go func() {
    		for i := 0; i < n; i++ {
    			rl.Lock()
    			rl.Lock()
    			rlocked <- true
    			wl.Lock()
    			wlocked <- true
    		}
    	}()
    	for i := 0; i < n; i++ {
    		<-rlocked
    		rl.Unlock()
    		select {
    		case <-wlocked:
    			t.Fatal("RLocker() didn't read-lock it")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Oct 29 17:13:13 UTC 2021
    - 4.9K bytes
    - Viewed (0)
  9. src/runtime/traceback.go

    		} else {
    			print(" m=nil")
    		}
    	}
    	print(" [", status)
    	if isScan {
    		print(" (scan)")
    	}
    	if waitfor >= 1 {
    		print(", ", waitfor, " minutes")
    	}
    	if gp.lockedm != 0 {
    		print(", locked to thread")
    	}
    	print("]:\n")
    }
    
    func tracebackothers(me *g) {
    	level, _, _ := gotraceback()
    
    	// Show the current goroutine first, if we haven't already.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 55.1K bytes
    - Viewed (0)
  10. internal/lsync/lrwmutex_test.go

    	wl := NewLRWMutex()
    	var rl sync.Locker
    	wlocked := make(chan bool, 1)
    	rlocked := make(chan bool, 1)
    	rl = wl.DRLocker()
    	n := 10
    	go func() {
    		for i := 0; i < n; i++ {
    			rl.Lock()
    			rl.Lock()
    			rlocked <- true
    			wl.Lock()
    			wlocked <- true
    		}
    	}()
    	for i := 0; i < n; i++ {
    		<-rlocked
    		rl.Unlock()
    		select {
    		case <-wlocked:
    			t.Fatal("RLocker() didn't read-lock it")
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Sun Mar 05 04:57:35 UTC 2023
    - 7.9K bytes
    - Viewed (0)
Back to top