I'm not sure to understand what is the isexited method you're talking about. Are you using the InvertedShellWrapper ? That one consumes cpu a bit because it needs to read the streams.
On Sun, Sep 9, 2012 at 3:06 AM, Maarten Smit <[email protected]> wrote: > It turned out that after the sessions was closed the isexited function > still returned true which caused the session to hang. My apologies, took me > quite long to figure out :) > > But now I have a second problem, the sshd needs to run on devices with > batteries (like laptops) but battery drain increases a lot when someone is > connected. It turns out after settings to log point that the isexited call > from the shell class is called multiple times per second (a continuous > loop) till the isexited returns true. My gues is that's eating a lot of > power.. Would there maybe be some fix? Would it be safe to add a thread > sleep to the isexited function? > > Keep up the good work though, it's a great server! So easy to use. > > Thanks again. > > Maarten > > > 2012/9/3 Guillaume Nodet <[email protected]> > > > It should not be necessary. Closing the server should close all sessions > > and shells. > > I suppose you're using the latest 0.7.0 version. > > Isn't the Command#destroy() method called ? > > > > On Sun, Sep 2, 2012 at 3:01 PM, Maarten Smit <[email protected]> > > wrote: > > > > > Hello, > > > > > > I have implemented SSHD with my own Shell Factory. Everything works > > great, > > > however, this doesn't work: > > > > > > 1. A user connects > > > 2. The user is done and closes the session without typing 'exit' first > > (if > > > the user quits correctly by typing exit through ssh everything works > ok) > > > 3. The server is stopped > > > 4. The server is started again: that doesn't work since the port is > still > > > in use, probably because there is still a shell session (since if the > > shell > > > is closed everything works). > > > > > > I have tried: > > > - setReuseAddress to true > > > - using sshd.getActiveSessions() to get all sessions and disconnecting > > each > > > one > > > > > > But it still doesn't work. So my question is, when the server is > stopped, > > > how can I get access to each active shell outputstream so I can send > the > > > 'exit' command? > > > > > > Thanks! > > > > > > Maarten > > > > > > > > > > > -- > > ------------------------ > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > ------------------------ > > FuseSource, Integration everywhere > > http://fusesource.com > > > -- ------------------------ Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ FuseSource, Integration everywhere http://fusesource.com
