close master/slave pty in the shell process.
This commit is contained in:
		
							parent
							
								
									5c93f399c5
								
							
						
					
					
						commit
						e8c13ebe80
					
				
							
								
								
									
										6
									
								
								st.c
								
								
								
								
							
							
						
						
									
										6
									
								
								st.c
								
								
								
								
							| 
						 | 
					@ -247,7 +247,7 @@ ttynew(void) {
 | 
				
			||||||
	if((m = posix_openpt(O_RDWR | O_NOCTTY)) < 0)
 | 
						if((m = posix_openpt(O_RDWR | O_NOCTTY)) < 0)
 | 
				
			||||||
		die("openpt failed: %s\n", SERRNO);
 | 
							die("openpt failed: %s\n", SERRNO);
 | 
				
			||||||
	if(grantpt(m) < 0)
 | 
						if(grantpt(m) < 0)
 | 
				
			||||||
		die("grandpt failed: %s\n", SERRNO);
 | 
							die("grantpt failed: %s\n", SERRNO);
 | 
				
			||||||
	if(unlockpt(m) < 0)
 | 
						if(unlockpt(m) < 0)
 | 
				
			||||||
		die("unlockpt failed: %s\n", SERRNO);
 | 
							die("unlockpt failed: %s\n", SERRNO);
 | 
				
			||||||
	if(!(pts = ptsname(m)))
 | 
						if(!(pts = ptsname(m)))
 | 
				
			||||||
| 
						 | 
					@ -265,7 +265,9 @@ ttynew(void) {
 | 
				
			||||||
		dup2(s, STDOUT_FILENO);
 | 
							dup2(s, STDOUT_FILENO);
 | 
				
			||||||
		dup2(s, STDERR_FILENO);
 | 
							dup2(s, STDERR_FILENO);
 | 
				
			||||||
		if(ioctl(s, TIOCSCTTY, NULL) < 0)
 | 
							if(ioctl(s, TIOCSCTTY, NULL) < 0)
 | 
				
			||||||
			die("ioctl TTIOCSTTY failed: %s\n", SERRNO);
 | 
								die("ioctl TIOCSCTTY failed: %s\n", SERRNO);
 | 
				
			||||||
 | 
							close(s);
 | 
				
			||||||
 | 
							close(m);
 | 
				
			||||||
		execsh();
 | 
							execsh();
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue