Esempio n. 1
0
            public override void Close()
            {
                base.Close();

                if (_channel != null)
                {
                    try
                    {
                        if (_channel.isConnected())
                        {
                            _channel.disconnect();
                        }
                    }
                    finally
                    {
                        _channel = null;
                    }
                }
            }
            public override void Close()
            {
                base.Close();

                if (_channel == null)
                {
                    return;
                }

                try
                {
                    _exitStatus = _channel.getExitStatus();
                    if (_channel.isConnected())
                    {
                        _channel.disconnect();
                    }
                }
                finally
                {
                    _channel = null;
                }
            }
            public SshPushConnection(TransportGitSsh instance)
                : base(instance)
            {
                try
                {
                    _channel = instance.Exec(instance.OptionReceivePack);

                    if (_channel.isConnected())
                    {
                        init(_channel.getInputStream(), _channel.getOutputStream());
                    }
                    else
                    {
                        throw new TransportException(uri, instance._errStream.ToString());
                    }
                }
                catch (TransportException)
                {
                    Close();
                    throw;
                }
                catch (SocketException err)
                {
                    Close();
                    throw new TransportException(uri, "remote hung up unexpectedly", err);
                }

                try
                {
                    readAdvertisedRefs();
                }
                catch (NoRemoteRepositoryException notFound)
                {
                    Close();
                    instance.checkExecFailure(_exitStatus, instance.OptionReceivePack);
                    throw instance.cleanNotFound(notFound);
                }
            }