Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for SelectDone (0.1 sec)

  1. src/runtime/select.go

    	// stack shrinking.
    	gp.parkingOnChan.Store(true)
    	gopark(selparkcommit, nil, waitReasonSelect, traceBlockSelect, 1)
    	gp.activeStackChans = false
    
    	sellock(scases, lockorder)
    
    	gp.selectDone.Store(0)
    	sg = (*sudog)(gp.param)
    	gp.param = nil
    
    	// pass 3 - dequeue from unsuccessful chans
    	// otherwise they stack up on quiet channels
    	// record the successful case, if any.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 13 21:36:04 UTC 2024
    - 15K bytes
    - Viewed (0)
  2. src/runtime/runtime2.go

    	// are only accessed when holding a semaRoot lock.
    
    	acquiretime int64
    	releasetime int64
    	ticket      uint32
    
    	// isSelect indicates g is participating in a select, so
    	// g.selectDone must be CAS'd to win the wake-up race.
    	isSelect bool
    
    	// success indicates whether communication over channel c
    	// succeeded. It is true if the goroutine was awoken because a
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 47.9K bytes
    - Viewed (0)
  3. src/runtime/chan.go

    		// We use a flag in the G struct to tell us when someone
    		// else has won the race to signal this goroutine but the goroutine
    		// hasn't removed itself from the queue yet.
    		if sgp.isSelect && !sgp.g.selectDone.CompareAndSwap(0, 1) {
    			continue
    		}
    
    		return sgp
    	}
    }
    
    func (c *hchan) raceaddr() unsafe.Pointer {
    	// Treat read-like and write-like operations on the channel to
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:16:50 UTC 2024
    - 25.9K bytes
    - Viewed (0)
Back to top