make pcntl optional