original_string: private function close(): int
      {
          $this->processPipes->close();
          if (\is_resource($this->process)) {
              proc_close($this->process);
          }
          $this->exitcode = $this->processInformation['exitcode'];
          $this->status = self::STATUS_TERMINATED;
  
          if (-1 === $this->exitcode) {
              if ($this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) {
                  // if process has been signaled, no exitcode but a valid termsig, apply Unix convention
                  $this->exitcode = 128 + $this->processInformation['termsig'];
              } elseif ($this->isSigchildEnabled()) {
                  $this->processInformation['signaled'] = true;
                  $this->processInformation['termsig'] = -1;
              }
          }
  
          // Free memory from self-reference callback created by buildCallback
          // Doing so in other contexts like __destruct or by garbage collector is ineffective
          // Now pipes are closed, so the callback is no longer necessary
          $this->callback = null;
  
          return $this->exitcode;
      }
code: private function close(): int
      {
          $this->processPipes->close();
          if (\is_resource($this->process)) {
              proc_close($this->process);
          }
          $this->exitcode = $this->processInformation['exitcode'];
          $this->status = self::STATUS_TERMINATED;
  
          if (-1 === $this->exitcode) {
              if ($this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) {
                  // if process has been signaled, no exitcode but a valid termsig, apply Unix convention
                  $this->exitcode = 128 + $this->processInformation['termsig'];
              } elseif ($this->isSigchildEnabled()) {
                  $this->processInformation['signaled'] = true;
                  $this->processInformation['termsig'] = -1;
              }
          }
  
          // Free memory from self-reference callback created by buildCallback
          // Doing so in other contexts like __destruct or by garbage collector is ineffective
          // Now pipes are closed, so the callback is no longer necessary
          $this->callback = null;
  
          return $this->exitcode;
      }
code_tokens: private function close ( ) : int { $ this -> processPipes -> close ( ) ; if ( \ is_resource ( $ this -> process ) ) { proc_close ( $ this -> process ) ; } $ this -> exitcode = $ this -> processInformation [ 'exitcode' ] ; $ this -> status = self :: STATUS_TERMINATED ; if ( - 1 === $ this -> exitcode ) { if ( $ this -> processInformation [ 'signaled' ] && 0 < $ this -> processInformation [ 'termsig' ] ) { // if process has been signaled, no exitcode but a valid termsig, apply Unix convention $ this -> exitcode = 128 + $ this -> processInformation [ 'termsig' ] ; } elseif ( $ this -> isSigchildEnabled ( ) ) { $ this -> processInformation [ 'signaled' ] = true ; $ this -> processInformation [ 'termsig' ] = - 1 ; } } // Free memory from self-reference callback created by buildCallback // Doing so in other contexts like __destruct or by garbage collector is ineffective // Now pipes are closed, so the callback is no longer necessary $ this -> callback = null ; return $ this -> exitcode ; }
docstring: Closes process resource, closes file handles, sets the exitcode.
  
  @return int The exitcode
docstring_tokens: Closes process resource closes file handles sets the exitcode .