- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 424 for _Gwaiting (0.36 sec)
-
src/runtime/coro.go
// If we can CAS ourselves directly from running to waiting, so do, // keeping the control transfer as lightweight as possible. gp.waitreason = waitReasonCoroutine if !gp.atomicstatus.CompareAndSwap(_Grunning, _Gwaiting) { // The CAS failed: use casgstatus, which will take care of // coordinating with the garbage collector about the state change. casgstatus(gp, _Grunning, _Gwaiting) } // Clear gp.m.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 19:09:18 UTC 2024 - 7.4K bytes - Viewed (0) -
src/runtime/preempt.go
// ownership of it by transitioning it to // _Gwaiting. if !casGFromPreempted(gp, _Gpreempted, _Gwaiting) { break } // We stopped the G, so we have to ready it later. stopped = true s = _Gwaiting fallthrough case _Grunnable, _Gsyscall, _Gwaiting: // Claim goroutine by setting scan bit. // This may race with execution or readying of gp.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 17 15:41:45 UTC 2024 - 15.1K bytes - Viewed (0) -
src/runtime/tracestatus.go
case _Grunnable: tgs = traceGoRunnable case _Grunning, _Gcopystack: tgs = traceGoRunning case _Gsyscall: tgs = traceGoSyscall case _Gwaiting, _Gpreempted: // There are a number of cases where a G might end up in // _Gwaiting but it's actually running in a non-preemptive // state but needs to present itself as preempted to the // garbage collector. In these cases, we're not going to
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 15 17:03:35 UTC 2024 - 7.2K bytes - Viewed (0) -
src/runtime/runtime2.go
sudogcache *sudog // Central pool of available defer structs. deferlock mutex deferpool *_defer // freem is the list of m's waiting to be freed when their // m.exited is set. Linked through m.freelink. freem *m gcwaiting atomic.Bool // gc is waiting to run stopwait int32 stopnote note sysmonwait atomic.Bool sysmonnote note // safePointFn should be called on each P at the next GC
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 30 17:57:37 UTC 2024 - 47.9K bytes - Viewed (0) -
src/runtime/proc.go
// casgstatus(gp, oldstatus, Gcopystack), assuming oldstatus is Gwaiting or Grunnable. // Returns old status. Cannot call casgstatus directly, because we are racing with an // async wakeup that might come in from netpoll. If we see Gwaiting from the readgstatus, // it might have become Grunnable by the time we get to the cas. If we called casgstatus, // it would loop waiting for the status to go back to Gwaiting, which it never will. // //go:nosplit
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 207.5K bytes - Viewed (0) -
src/runtime/mgcmark.go
if (status == _Gwaiting || status == _Gsyscall) && gp.waitsince == 0 { gp.waitsince = work.tstart } // scanstack must be done on the system stack in case // we're trying to scan our own stack. systemstack(func() { // If this is a self-scan, put the user G in // _Gwaiting to prevent self-deadlock. It may // already be in _Gwaiting if this is a mark
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 18 21:25:11 UTC 2024 - 52.5K bytes - Viewed (0) -
src/runtime/heapdump.go
switch status { default: print("runtime: unexpected G.status ", hex(status), "\n") throw("dumpgs in STW - bad status") case _Gdead: // ok case _Grunnable, _Gsyscall, _Gwaiting: dumpgoroutine(gp) } }) } func finq_callback(fn *funcval, obj unsafe.Pointer, nret uintptr, fint *_type, ot *ptrtype) { dumpint(tagQueuedFinalizer) dumpint(uint64(uintptr(obj)))
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 09 04:07:57 UTC 2024 - 17.6K bytes - Viewed (0) -
src/runtime/tracestack.go
// If the scan bit is set, assume we're the ones that acquired it. if status&_Gscan == 0 { // Use the trace status to check this. There are a number of cases // where a running goroutine might be in _Gwaiting, and these cases // are totally fine for taking a stack trace. They're captured // correctly in goStatusToTraceGoStatus. switch goStatusToTraceGoStatus(status, gp.waitreason) { case traceGoRunning, traceGoSyscall:
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 21 14:38:56 UTC 2024 - 11K bytes - Viewed (0) -
src/runtime/trace.go
// // <----> problem window // casgstatus(gp, _Gwaiting, _Grunnable) // if trace.ok() { // trace.GoUnpark(gp, 2) // traceRelease(trace) // } // // More precisely, if we readgstatus for a gp while another goroutine is in the problem // window and that goroutine didn't observe that tracing had begun, then we might write // a GoStatus(GoWaiting) event for that goroutine, but it won't trace an event marking
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 21:17:41 UTC 2024 - 37.1K bytes - Viewed (0) -
src/runtime/mfinal.go
lock(&finlock) // We know the queue has been drained when both finq is nil // and the finalizer g has stopped executing. empty := finq == nil empty = empty && readgstatus(fing) == _Gwaiting && fing.waitreason == waitReasonFinalizerWait unlock(&finlock) if empty { return true } Gosched() } return false }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 01:56:56 UTC 2024 - 19K bytes - Viewed (0)