Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is now ready for review, following my own testing.
This is a major change to sesman.
There are quite a few file changes, bu the main implementation points are:-
a) session_list.c contains all the list-handling code.
b) session.c now contains just the code to manage a single session.
I've split session.c into two with #1961 in mind - I'm getting close to the point where I can split sesman entirely. session_list.c contains all the code for sesman and session.c contains all the code for sesexec.
The reworking of session starting logic allows me to use @derekschrock's waitforx utility to check for a working X server before starting the session. If the X server isn't started, this is reported back to xrdp.
Not only is the log file more readable with this change, but error reporting is improved. If the X server can't be started, the logging window now looks like this, rather than blue-screening for a minute or so:-
Also sesman logging is vastly improved on starting a session. Here's a development logging example:-
and at session end:-