-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restructure session start #2592
Merged
matt335672
merged 9 commits into
neutrinolabs:devel
from
matt335672:restructure_session_start
Mar 27, 2023
Merged
Restructure session start #2592
matt335672
merged 9 commits into
neutrinolabs:devel
from
matt335672:restructure_session_start
Mar 27, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
matt335672
force-pushed
the
restructure_session_start
branch
2 times, most recently
from
March 16, 2023 14:18
f7a87a3
to
7ff266e
Compare
matt335672
force-pushed
the
restructure_session_start
branch
4 times, most recently
from
March 18, 2023 11:23
61878f1
to
8e802f7
Compare
matt335672
force-pushed
the
restructure_session_start
branch
from
March 18, 2023 11:38
8e802f7
to
72f64b0
Compare
matt335672
force-pushed
the
restructure_session_start
branch
from
March 18, 2023 11:44
72f64b0
to
2922744
Compare
Merged
- Add g_pipe() - Add g_file_duplicate_on() - Rework struct exit_status to make it easier to parse - Add optional status return to g_waitchild()
This is a hangover from SCP V1 and is no longer required with the move to libipm
This makes an exact copy of session.[ch] in session_list.[ch]. The intention is to be able to follow changes in git with the --follow switch
matt335672
force-pushed
the
restructure_session_start
branch
from
March 23, 2023 18:12
2922744
to
9196526
Compare
Rename functions in the session_list module so it's clearer where they are defined.
The wait_for_xserver() call is refactored so that it can be called from root context to wait for an X server run by a specific user.
matt335672
force-pushed
the
restructure_session_start
branch
from
March 24, 2023 10:57
9196526
to
8d74aef
Compare
matt335672
force-pushed
the
restructure_session_start
branch
from
March 24, 2023 10:59
8d74aef
to
991770c
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:-