* fhandler.h (fhandler_termios::fixup_after_exec): New function.
* fhandler.cc (fhandler_termios::fixup_after_fork): New function. Fixup output handle. * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output handle is now fixed up in fhandler_termios::fixup_after_fork().
This commit is contained in:
		| @@ -1,3 +1,11 @@ | |||||||
|  | 2001-03-12  Egor Duda  <deo@logos-m.ru> | ||||||
|  |  | ||||||
|  | 	* fhandler.h (fhandler_termios::fixup_after_exec): New function. | ||||||
|  | 	* fhandler.cc (fhandler_termios::fixup_after_fork): New function. | ||||||
|  | 	Fixup output handle. | ||||||
|  | 	* fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output | ||||||
|  | 	handle is now fixed up in fhandler_termios::fixup_after_fork(). | ||||||
|  |  | ||||||
| 2001-03-12  Egor Duda  <deo@logos-m.ru> | 2001-03-12  Egor Duda  <deo@logos-m.ru> | ||||||
|  |  | ||||||
| 	* fhandler.h (fhandler_termios::fhandler_termios): Enable fixup | 	* fhandler.h (fhandler_termios::fhandler_termios): Enable fixup | ||||||
|   | |||||||
| @@ -581,6 +581,8 @@ public: | |||||||
|   bg_check_types bg_check (int sig); |   bg_check_types bg_check (int sig); | ||||||
|   virtual DWORD __acquire_output_mutex (const char *fn, int ln, DWORD ms) {return 1;} |   virtual DWORD __acquire_output_mutex (const char *fn, int ln, DWORD ms) {return 1;} | ||||||
|   virtual void __release_output_mutex (const char *fn, int ln) {} |   virtual void __release_output_mutex (const char *fn, int ln) {} | ||||||
|  |   void fixup_after_fork (HANDLE); | ||||||
|  |   void fixup_after_exec (HANDLE parent) { fixup_after_fork (parent); } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| enum ansi_intensity | enum ansi_intensity | ||||||
|   | |||||||
| @@ -308,3 +308,10 @@ fhandler_termios::line_edit (const char *rptr, int nread, int always_accept) | |||||||
|  |  | ||||||
|   return input_done; |   return input_done; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void | ||||||
|  | fhandler_termios::fixup_after_fork (HANDLE parent) | ||||||
|  | { | ||||||
|  |   this->fhandler_base::fixup_after_fork (parent); | ||||||
|  |   fork_fixup (parent, get_output_handle (), "output_handle"); | ||||||
|  | } | ||||||
|   | |||||||
| @@ -1097,7 +1097,7 @@ fhandler_tty_common::set_close_on_exec (int val) | |||||||
| void | void | ||||||
| fhandler_tty_common::fixup_after_fork (HANDLE parent) | fhandler_tty_common::fixup_after_fork (HANDLE parent) | ||||||
| { | { | ||||||
|   this->fhandler_base::fixup_after_fork (parent); |   this->fhandler_termios::fixup_after_fork (parent); | ||||||
|   if (output_done_event) |   if (output_done_event) | ||||||
|     fork_fixup (parent, output_done_event, "output_done_event"); |     fork_fixup (parent, output_done_event, "output_done_event"); | ||||||
|   if (ioctl_request_event) |   if (ioctl_request_event) | ||||||
| @@ -1116,7 +1116,6 @@ fhandler_tty_common::fixup_after_fork (HANDLE parent) | |||||||
|     } |     } | ||||||
|   if (input_available_event) |   if (input_available_event) | ||||||
|     fork_fixup (parent, input_available_event, "input_available_event"); |     fork_fixup (parent, input_available_event, "input_available_event"); | ||||||
|   fork_fixup (parent, output_handle, "output_handle"); |  | ||||||
|   fork_fixup (parent, inuse, "inuse"); |   fork_fixup (parent, inuse, "inuse"); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user