summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_tty.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler_tty.cc')
-rw-r--r--winsup/cygwin/fhandler_tty.cc31
1 files changed, 8 insertions, 23 deletions
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index fd83ef70c..9c2bb7f49 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -24,7 +24,6 @@ details. */
#include "pinfo.h"
#include "cygheap.h"
#include "shared_info.h"
-#include "cygwin/cygserver_transport.h"
#include "cygwin/cygserver.h"
#include "cygthread.h"
@@ -490,8 +489,8 @@ fhandler_tty_slave::open (path_conv *, int flags, mode_t)
HANDLE from_master_local, to_master_local;
if (!wincap.has_security () ||
- cygserver_running!=CYGSERVER_OK ||
- !cygserver_attach_tty ( &from_master_local, &to_master_local))
+ cygserver_running == CYGSERVER_UNAVAIL ||
+ !cygserver_attach_tty (&from_master_local, &to_master_local))
{
termios_printf ("cannot dup handles via server. using old method.");
@@ -547,29 +546,15 @@ fhandler_tty_slave::cygserver_attach_tty (LPHANDLE from_master_ptr,
if (!from_master_ptr || !to_master_ptr)
return 0;
- client_request_attach_tty *request =
- new client_request_attach_tty ((DWORD) GetCurrentProcessId (),
- (DWORD) get_ttyp ()->master_pid,
- (HANDLE) get_ttyp ()->from_master,
- (HANDLE) get_ttyp ()->to_master);
+ client_request_attach_tty req ((DWORD) get_ttyp ()->master_pid,
+ (HANDLE) get_ttyp ()->from_master,
+ (HANDLE) get_ttyp ()->to_master);
- if (cygserver_request (request) != 0 ||
- request->header.error_code != 0)
+ if (req.make_request () == -1 || req.error_code ())
return 0;
-/*
- struct request_attach_tty req;
- INIT_REQUEST (req, CYGSERVER_REQUEST_ATTACH_TTY);
- req.pid = GetCurrentProcessId ();
- req.master_pid = get_ttyp ()->master_pid;
- req.from_master = get_ttyp ()->from_master;
- req.to_master = get_ttyp ()->to_master;
- if (cygserver_request ((struct request_header*) &req) != 0)
- return 0;
-*/
- *from_master_ptr = request->from_master ();
- *to_master_ptr = request->to_master ();
- delete request;
+ *from_master_ptr = req.from_master ();
+ *to_master_ptr = req.to_master ();
return 1;
}