Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 5 of 5 for blockUntilWaitable (0.25 sec)

  1. src/os/wait_unimp.go

    // aix, darwin, js/wasm, openbsd, solaris and wasip1/wasm don't implement
    // waitid/wait6.
    
    //go:build aix || darwin || (js && wasm) || openbsd || solaris || wasip1
    
    package os
    
    // blockUntilWaitable attempts to block until a call to p.Wait will
    // succeed immediately, and reports whether it has done so.
    // It does not actually call p.Wait.
    // This version is used on systems that do not implement waitid,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 11 13:16:52 UTC 2023
    - 831 bytes
    - Viewed (0)
  2. src/os/wait_wait6.go

    //go:build dragonfly || freebsd || netbsd
    
    package os
    
    import (
    	"runtime"
    	"syscall"
    )
    
    // blockUntilWaitable attempts to block until a call to p.Wait will
    // succeed immediately, and reports whether it has done so.
    // It does not actually call p.Wait.
    func (p *Process) blockUntilWaitable() (bool, error) {
    	var errno syscall.Errno
    	for {
    		_, errno = wait6(_P_PID, p.Pid, syscall.WEXITED|syscall.WNOWAIT)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 13 21:25:45 UTC 2022
    - 781 bytes
    - Viewed (0)
  3. src/os/wait_waitid.go

    //go:build linux
    
    package os
    
    import (
    	"runtime"
    	"syscall"
    	"unsafe"
    )
    
    const _P_PID = 1
    
    // blockUntilWaitable attempts to block until a call to p.Wait will
    // succeed immediately, and reports whether it has done so.
    // It does not actually call p.Wait.
    func (p *Process) blockUntilWaitable() (bool, error) {
    	// The waitid system call expects a pointer to a siginfo_t,
    	// which is 128 bytes on all Linux systems.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 07 00:27:57 UTC 2023
    - 1.3K bytes
    - Viewed (0)
  4. src/os/exec_unix.go

    	//
    	// Checking for statusDone here would not be a complete fix, as the PID
    	// could still be waited on and reused prior to blockUntilWaitable.
    	switch p.pidStatus() {
    	case statusReleased:
    		return nil, syscall.EINVAL
    	}
    
    	// If we can block until Wait4 will succeed immediately, do so.
    	ready, err := p.blockUntilWaitable()
    	if err != nil {
    		return nil, err
    	}
    	if ready {
    		// Mark the process done now, before the call to Wait4,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 22:06:47 UTC 2024
    - 4.1K bytes
    - Viewed (0)
  5. src/os/pidfd_linux.go

    	// because the PID recycle issue doesn't exist (IOW, pidfd, unlike PID,
    	// is guaranteed to refer to one particular process). Thus, there is no
    	// need for the workaround (blockUntilWaitable + sigMu) from pidWait.
    	//
    	// We _do_ need to be careful about reuse of the pidfd FD number when
    	// closing the pidfd. See handle for more details.
    	handle, status := p.handleTransientAcquire()
    	switch status {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Jun 11 18:08:44 UTC 2024
    - 4.2K bytes
    - Viewed (0)
Back to top