summaryrefslogtreecommitdiffhomepage
path: root/src/tty/ntapi_tty_join_session.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tty/ntapi_tty_join_session.c')
-rw-r--r--src/tty/ntapi_tty_join_session.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/tty/ntapi_tty_join_session.c b/src/tty/ntapi_tty_join_session.c
index 77bcc3c..2bcefc4 100644
--- a/src/tty/ntapi_tty_join_session.c
+++ b/src/tty/ntapi_tty_join_session.c
@@ -17,10 +17,14 @@ int32_t __stdcall __ntapi_tty_join_session(
nt_status status;
ntapi_internals * __internals;
- /* init */
+ /* init, primary session semantics */
__internals = __ntapi_internals();
if (type == NT_TTY_SESSION_PRIMARY) {
+ if (__internals->rtdata)
+ if (__internals->rtdata->hsession)
+ return NT_STATUS_PORT_ALREADY_SET;
+
hport = hport ? hport : &__internals->hport_tty_session;
port_name = port_name ? port_name : __internals->subsystem;
}