Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for releaseForkLock (0.12 sec)

  1. src/syscall/forkpipe2.go

    		if forking == 0 {
    			ForkLock.Lock()
    		}
    	}
    
    	forking++
    }
    
    // releaseForkLock releases the conceptual write lock on ForkLock
    // acquired by acquireForkLock.
    func releaseForkLock() {
    	forkingLock.Lock()
    	defer forkingLock.Unlock()
    
    	if forking <= 0 {
    		panic("syscall.releaseForkLock: negative count")
    	}
    
    	forking--
    
    	if forking == 0 {
    		// No more conceptual write locks.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jul 10 19:19:59 UTC 2023
    - 2.6K bytes
    - Viewed (0)
  2. src/syscall/forkpipe.go

    	}
    	_, err = fcntl(p[0], F_SETFD, FD_CLOEXEC)
    	if err != nil {
    		return err
    	}
    	_, err = fcntl(p[1], F_SETFD, FD_CLOEXEC)
    	return err
    }
    
    func acquireForkLock() {
    	ForkLock.Lock()
    }
    
    func releaseForkLock() {
    	ForkLock.Unlock()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jul 10 19:19:59 UTC 2023
    - 604 bytes
    - Viewed (0)
  3. src/syscall/exec_unix.go

    	if err = forkExecPipe(p[:]); err != nil {
    		releaseForkLock()
    		return 0, err
    	}
    
    	// Kick off child.
    	pid, err1 = forkAndExecInChild(argv0p, argvp, envvp, chroot, dir, attr, sys, p[1])
    	if err1 != 0 {
    		Close(p[0])
    		Close(p[1])
    		releaseForkLock()
    		return 0, Errno(err1)
    	}
    	releaseForkLock()
    
    	// Read child error status from pipe.
    	Close(p[1])
    	for {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Feb 26 21:03:59 UTC 2024
    - 8.7K bytes
    - Viewed (0)
Back to top