mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Do not set uninitialized signal mask when creating an empty pane.
This commit is contained in:
		
							
								
								
									
										16
									
								
								spawn.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								spawn.c
									
									
									
									
									
								
							@@ -330,14 +330,6 @@ spawn_pane(struct spawn_context *sc, char **cause)
 | 
				
			|||||||
	cmd_log_argv(new_wp->argc, new_wp->argv, "%s", __func__);
 | 
						cmd_log_argv(new_wp->argc, new_wp->argv, "%s", __func__);
 | 
				
			||||||
	environ_log(child, "%s: environment ", __func__);
 | 
						environ_log(child, "%s: environment ", __func__);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* If the command is empty, don't fork a child process. */
 | 
					 | 
				
			||||||
	if (sc->flags & SPAWN_EMPTY) {
 | 
					 | 
				
			||||||
		new_wp->flags |= PANE_EMPTY;
 | 
					 | 
				
			||||||
		new_wp->base.mode &= ~MODE_CURSOR;
 | 
					 | 
				
			||||||
		new_wp->base.mode |= MODE_CRLF;
 | 
					 | 
				
			||||||
		goto complete;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Initialize the window size. */
 | 
						/* Initialize the window size. */
 | 
				
			||||||
	memset(&ws, 0, sizeof ws);
 | 
						memset(&ws, 0, sizeof ws);
 | 
				
			||||||
	ws.ws_col = screen_size_x(&new_wp->base);
 | 
						ws.ws_col = screen_size_x(&new_wp->base);
 | 
				
			||||||
@@ -347,6 +339,14 @@ spawn_pane(struct spawn_context *sc, char **cause)
 | 
				
			|||||||
	sigfillset(&set);
 | 
						sigfillset(&set);
 | 
				
			||||||
	sigprocmask(SIG_BLOCK, &set, &oldset);
 | 
						sigprocmask(SIG_BLOCK, &set, &oldset);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* If the command is empty, don't fork a child process. */
 | 
				
			||||||
 | 
						if (sc->flags & SPAWN_EMPTY) {
 | 
				
			||||||
 | 
							new_wp->flags |= PANE_EMPTY;
 | 
				
			||||||
 | 
							new_wp->base.mode &= ~MODE_CURSOR;
 | 
				
			||||||
 | 
							new_wp->base.mode |= MODE_CRLF;
 | 
				
			||||||
 | 
							goto complete;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Fork the new process. */
 | 
						/* Fork the new process. */
 | 
				
			||||||
	new_wp->pid = fdforkpty(ptm_fd, &new_wp->fd, new_wp->tty, NULL, &ws);
 | 
						new_wp->pid = fdforkpty(ptm_fd, &new_wp->fd, new_wp->tty, NULL, &ws);
 | 
				
			||||||
	if (new_wp->pid == -1) {
 | 
						if (new_wp->pid == -1) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user