diff options
Diffstat (limited to 'winsup/cygwin/local_includes/fhandler.h')
-rw-r--r-- | winsup/cygwin/local_includes/fhandler.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/winsup/cygwin/local_includes/fhandler.h b/winsup/cygwin/local_includes/fhandler.h index 8c71d84..4db2964 100644 --- a/winsup/cygwin/local_includes/fhandler.h +++ b/winsup/cygwin/local_includes/fhandler.h @@ -1203,6 +1203,7 @@ class fhandler_pipe_fifo: public fhandler_base protected: size_t pipe_buf_size; HANDLE pipe_mtx; /* Used only in the pipe case */ + bool real_non_blocking_mode; /* Used only in the pipe case */ virtual void release_select_sem (const char *) {}; IMPLEMENT_STATUS_FLAG (bool, isclosed) @@ -1212,6 +1213,8 @@ class fhandler_pipe_fifo: public fhandler_base virtual bool reader_closed () { return false; }; ssize_t raw_write (const void *ptr, size_t len); + + friend ssize_t pipe_data_available (int, fhandler_base *, HANDLE, int); }; class fhandler_pipe: public fhandler_pipe_fifo @@ -1699,9 +1702,9 @@ class fhandler_disk_file: public fhandler_base uint64_t fs_ioc_getflags (); int fs_ioc_setflags (uint64_t); - falloc_allocate (int, off_t, off_t); - falloc_punch_hole (off_t, off_t); - falloc_zero_range (int, off_t, off_t); + int falloc_allocate (int, off_t, off_t); + int falloc_punch_hole (off_t, off_t); + int falloc_zero_range (int, off_t, off_t); public: fhandler_disk_file (); @@ -1979,6 +1982,7 @@ class fhandler_termios: public fhandler_base virtual off_t lseek (off_t, int); pid_t tcgetsid (); virtual int fstat (struct stat *buf); + int tcflow (int); fhandler_termios (void *) {} @@ -2143,12 +2147,12 @@ class dev_console char cons_rabuf[40]; // cannot get longer than char buf[40] in char_command char *cons_rapoi; bool cursor_key_app_mode; - bool disable_master_thread; + volatile bool disable_master_thread; tty::cons_mode curr_input_mode; tty::cons_mode curr_output_mode; DWORD prev_input_mode; DWORD prev_output_mode; - bool master_thread_suspended; + volatile bool master_thread_suspended; int num_processed; /* Number of input events in the current input buffer already processed by cons_master_thread(). */ @@ -2273,6 +2277,7 @@ private: int tcflush (int); int tcsetattr (int a, const struct termios *t); int tcgetattr (struct termios *t); + int tcdrain (); int ioctl (unsigned int cmd, void *); int init (HANDLE, DWORD, mode_t, int64_t = 0); @@ -2368,7 +2373,7 @@ private: void setup_pcon_hand_over (); static void pcon_hand_over_proc (); - static tty::cons_mode cons_mode_on_close (); + static tty::cons_mode cons_mode_on_close (handle_set_t *); friend tty_min * tty_list::get_cttyp (); }; @@ -2391,6 +2396,7 @@ class fhandler_pty_common: public fhandler_termios DWORD __acquire_output_mutex (const char *fn, int ln, DWORD ms); void __release_output_mutex (const char *fn, int ln); + int tcdrain (); int close (int flag = -1); off_t lseek (off_t, int); bool bytes_available (DWORD& n); @@ -2536,6 +2542,7 @@ public: HANDLE to_slave; HANDLE master_ctl; HANDLE input_available_event; + fhandler_pty_master *master; }; /* Parameter set for the static function pty_master_fwd_thread() */ struct master_fwd_thread_param_t { |