Search Options

Results per page
Sort
Preferred Languages
Advance

Results 31 - 40 of 56 for lockOSThread (0.18 sec)

  1. src/runtime/proc_test.go

    	go func() {
    		if locked {
    			runtime.LockOSThread()
    		}
    		for {
    			select {
    			case <-c:
    				cack <- true
    				return
    			default:
    				runtime.Gosched()
    			}
    		}
    	}()
    	time.Sleep(10 * time.Millisecond)
    	c <- true
    	<-cack
    }
    
    func TestYieldLocked(t *testing.T) {
    	const N = 10
    	c := make(chan bool)
    	go func() {
    		runtime.LockOSThread()
    		for i := 0; i < N; i++ {
    			runtime.Gosched()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jun 14 00:03:57 UTC 2023
    - 25.8K bytes
    - Viewed (0)
  2. src/runtime/debuglog_test.go

    	}
    }
    
    func TestDebugLogWraparound(t *testing.T) {
    	skipDebugLog(t)
    
    	// Make sure we don't switch logs so it's easier to fill one up.
    	runtime.LockOSThread()
    	defer runtime.UnlockOSThread()
    
    	runtime.ResetDebugLog()
    	var longString = strings.Repeat("a", 128)
    	var want strings.Builder
    	for i, j := 0, 0; j < 2*runtime.DebugLogBytes; i, j = i+1, j+len(longString) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 18 16:59:26 UTC 2022
    - 4.9K bytes
    - Viewed (0)
  3. src/internal/syscall/windows/registry/key.go

    func (k Key) ReadSubKeyNames() ([]string, error) {
    	// RegEnumKeyEx must be called repeatedly and to completion.
    	// During this time, this goroutine cannot migrate away from
    	// its current thread. See #49320.
    	runtime.LockOSThread()
    	defer runtime.UnlockOSThread()
    
    	names := make([]string, 0)
    	// Registry key size limit is 255 bytes and described there:
    	// https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry-element-size-limits
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Sep 12 16:42:41 UTC 2023
    - 5.4K bytes
    - Viewed (0)
  4. src/syscall/syscall_linux_test.go

    				if e != 0 {
    					return e
    				}
    				return nil
    			},
    		},
    	}
    
    	waiter := func(q <-chan uintptr, r chan<- uintptr, once bool) {
    		for x := range q {
    			runtime.LockOSThread()
    			v, _, e := syscall.Syscall(syscall.SYS_PRCTL, PR_GET_KEEPCAPS, 0, 0)
    			if e != 0 {
    				t.Errorf("tid=%d prctl(PR_GET_KEEPCAPS) failed: %v", syscall.Gettid(), e)
    			} else if x != v {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:00:11 UTC 2024
    - 23K bytes
    - Viewed (0)
  5. src/runtime/crash_unix_test.go

    		runtime.Close(w)
    	}()
    	runtime.Closeonexec(r)
    	runtime.Closeonexec(w)
    
    	var want, got int64
    	var wg sync.WaitGroup
    	ready := make(chan *runtime.M)
    	wg.Add(1)
    	go func() {
    		runtime.LockOSThread()
    		want, got = runtime.WaitForSigusr1(r, w, func(mp *runtime.M) {
    			ready <- mp
    		})
    		runtime.UnlockOSThread()
    		wg.Done()
    	}()
    	waitingM := <-ready
    	runtime.SendSigusr1(waitingM)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 12 20:11:47 UTC 2023
    - 9.2K bytes
    - Viewed (0)
  6. src/cmd/cgo/internal/test/testx.go

    	if runtime.GOOS == "android" {
    		return
    	}
    	// Used to panic because of the UnlockOSThread below.
    	C.lockOSThreadC()
    }
    
    //export lockOSThreadCallback
    func lockOSThreadCallback() {
    	runtime.LockOSThread()
    	runtime.UnlockOSThread()
    	go C.usleep(10000)
    	runtime.Gosched()
    }
    
    // issue 4054 part 2 - part 1 in test.go
    
    var issue4054b = []int{C.A, C.B, C.C, C.D, C.E, C.F, C.G, C.H, C.II, C.J}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 17 21:53:11 UTC 2023
    - 10.6K bytes
    - Viewed (0)
  7. src/runtime/debug/garbage.go

    // of goroutines. A Go program creates a new thread only when a goroutine
    // is ready to run but all the existing threads are blocked in system calls, cgo calls,
    // or are locked to other goroutines due to use of runtime.LockOSThread.
    //
    // SetMaxThreads is useful mainly for limiting the damage done by
    // programs that create an unbounded number of threads. The idea is
    // to take down the program before it takes down the operating system.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:00:11 UTC 2024
    - 9.9K bytes
    - Viewed (0)
  8. src/runtime/cgocall.go

    	// exitsyscall, since it would otherwise be free to move us to
    	// a different M. The call to unlockOSThread is in this function
    	// after cgocallbackg1, or in the case of panicking, in unwindm.
    	lockOSThread()
    
    	checkm := gp.m
    
    	// Save current syscall parameters, so m.winsyscall can be
    	// used again if callback decide to make syscall.
    	winsyscall := gp.m.winsyscall
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:16:47 UTC 2024
    - 24.2K bytes
    - Viewed (0)
  9. tools/istio-iptables/pkg/dependencies/implementation_linux.go

    			// Warning: Do not call UnlockOSThread! Notably, netns.Do does call this.
    			runtime.LockOSThread()
    			if err := setupSandbox(); err != nil {
    				return err
    			}
    			// Mark we have actually run the command. This lets us distinguish from a failure in setupSandbox() vs f()
    			executed = true
    			return f()
    Registered: Fri Jun 14 15:00:06 UTC 2024
    - Last Modified: Tue Mar 12 20:49:10 UTC 2024
    - 12K bytes
    - Viewed (0)
  10. src/os/exec.go

    // new process, so it normally starts with the program name.
    //
    // If the calling goroutine has locked the operating system thread
    // with [runtime.LockOSThread] and modified any inheritable OS-level
    // thread state (for example, Linux or Plan 9 name spaces), the new
    // process will inherit the caller's thread state.
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 22:06:47 UTC 2024
    - 12.8K bytes
    - Viewed (0)
Back to top