/// <exception cref="NSch.JSchException"></exception> public override void Start() { Session _session = GetSession(); try { Request request; if (xforwading) { request = new RequestX11(); request.DoRequest(_session, this); } if (pty) { request = new RequestPtyReq(); request.DoRequest(_session, this); } request = new RequestSubsystem(); ((RequestSubsystem)request).Request(_session, this, subsystem, want_reply); } catch (Exception e) { if (e is JSchException) { throw (JSchException)e; } if (e is Exception) { throw new JSchException("ChannelSubsystem", (Exception)e); } throw new JSchException("ChannelSubsystem"); } if (io.@in != null) { thread = new Sharpen.Thread(this); thread.SetName("Subsystem for " + _session.host); if (_session.daemon_thread) { thread.SetDaemon(_session.daemon_thread); } thread.Start(); } }