Kernel: TTY now stores foreground process pid
this will be process pgid when we have process groups
This commit is contained in:
		
							parent
							
								
									b9dd1895bb
								
							
						
					
					
						commit
						1ef0534b69
					
				|  | @ -23,6 +23,9 @@ namespace Kernel | |||
| 		uint32_t height() const { return m_height; } | ||||
| 		uint32_t width() const { return m_width; } | ||||
| 
 | ||||
| 		void set_foreground_process(pid_t pgid) { m_foreground_process = pgid; } | ||||
| 		pid_t foreground_process() const { return m_foreground_process; } | ||||
| 
 | ||||
| 		// for kprint
 | ||||
| 		static void putchar_current(uint8_t ch); | ||||
| 		static bool is_initialized(); | ||||
|  | @ -94,6 +97,8 @@ namespace Kernel | |||
| 		TerminalDriver::Color m_foreground { TerminalColor::BRIGHT_WHITE }; | ||||
| 		TerminalDriver::Color m_background { TerminalColor::BLACK }; | ||||
| 
 | ||||
| 		pid_t m_foreground_process { 0 }; | ||||
| 
 | ||||
| 		termios m_termios; | ||||
| 
 | ||||
| 		struct Buffer | ||||
|  |  | |||
|  | @ -150,6 +150,9 @@ namespace Kernel | |||
| 		m_fixed_width_allocators.clear(); | ||||
| 		m_general_allocator.clear(); | ||||
| 
 | ||||
| 		if (m_tty && m_tty->foreground_process() == pid()) | ||||
| 			m_tty->set_foreground_process(0); | ||||
| 
 | ||||
| 		s_process_lock.lock(); | ||||
| 		for (size_t i = 0; i < s_processes.size(); i++) | ||||
| 			if (s_processes[i] == this) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue