Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for stackPreempt (0.2 sec)

  1. src/runtime/debug.go

    	gp := getg()
    	if gp == gp.m.g0 || gp == gp.m.gsignal {
    		return
    	}
    	// Force a preemption, unless the stack is already poisoned.
    	if gp.stackguard0 < stackPoisonMin {
    		gp.stackguard0 = stackPreempt
    	}
    }
    
    // mayMoreStackMove is a maymorestack hook that forces stack movement
    // at every possible point.
    //
    // See mayMoreStackPreempt.
    //
    //go:nosplit
    //go:linkname mayMoreStackMove
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 20:38:24 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  2. src/runtime/lock_futex.go

    	gp.m.locks--
    	if gp.m.locks < 0 {
    		throw("runtimeĀ·unlock: lock count")
    	}
    	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
    		gp.stackguard0 = stackPreempt
    	}
    }
    
    // One-time notifications.
    func noteclear(n *note) {
    	n.key = 0
    }
    
    func notewakeup(n *note) {
    	old := atomic.Xchg(key32(&n.key), 1)
    	if old != 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:34 UTC 2024
    - 5.4K bytes
    - Viewed (0)
  3. src/runtime/lock_sema.go

    	gp.m.locks--
    	if gp.m.locks < 0 {
    		throw("runtimeĀ·unlock: lock count")
    	}
    	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
    		gp.stackguard0 = stackPreempt
    	}
    }
    
    // One-time notifications.
    func noteclear(n *note) {
    	n.key = 0
    }
    
    func notewakeup(n *note) {
    	var v uintptr
    	for {
    		v = atomic.Loaduintptr(&n.key)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 6.8K bytes
    - Viewed (0)
Back to top