mirror of
				git://git.code.sf.net/p/cdesktopenv/code
				synced 2025-03-09 15:50:02 +00:00 
			
		
		
		
	Fix 'kill -INFO' on systems that support SIGINFO (#59)
src/cmd/ksh93/data/signals.c: - SIGINFO was absent from the table of signals, which caused commands like 'kill -INFO $$' to fail even on platforms with SIGINFO (such as macOS and FreeBSD). Fix that by adding it to the signal table. src/cmd/ksh93/tests/signal.sh: - Add a regression tests for using SIGINFO with the kill builtin. The test will only be run if the external kill command supports SIGINFO.
This commit is contained in:
		
							parent
							
								
									d7afb57c49
								
							
						
					
					
						commit
						658bba748e
					
				
					 3 changed files with 13 additions and 0 deletions
				
			
		
							
								
								
									
										3
									
								
								NEWS
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								NEWS
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -21,6 +21,9 @@ Any uppercase BUG_* names are modernish shell bug IDs.
 | 
			
		|||
  erasable:
 | 
			
		||||
  https://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html#tag_20_152_13_49
 | 
			
		||||
 | 
			
		||||
- The 'kill' builtin now supports the SIGINFO signal (on operating systems
 | 
			
		||||
  with support for SIGINFO).
 | 
			
		||||
 | 
			
		||||
2020-07-02:
 | 
			
		||||
 | 
			
		||||
- Fixed a crash that occurred if a directory named '.paths' existed in any
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,6 +107,9 @@ const struct shtable2 shtab_signals[] =
 | 
			
		|||
#else
 | 
			
		||||
	"INT",		VAL(SIGINT,SH_SIGINTERACTIVE),			"",
 | 
			
		||||
#endif /* JOBS */
 | 
			
		||||
#ifdef SIGINFO
 | 
			
		||||
	"INFO",		VAL(SIGINFO,SH_SIGIGNORE),			S("Information request"),
 | 
			
		||||
#endif	/* SIGINFO */
 | 
			
		||||
#ifdef SIGIO
 | 
			
		||||
	"IO",		VAL(SIGIO,SH_SIGDONE),				S("IO signal"),
 | 
			
		||||
#endif	/* SIGIO */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -459,5 +459,12 @@ $SHELL -c 'kill %% 2> /dev/null'; [[ $? == 1 ]] || err_exit $'`kill` doesn\'t ha
 | 
			
		|||
$SHELL -c 'kill %+ 2> /dev/null'; [[ $? == 1 ]] || err_exit $'`kill` doesn\'t handle a non-existent job correctly when passed \'%+\''
 | 
			
		||||
$SHELL -c 'kill %- 2> /dev/null'; [[ $? == 1 ]] || err_exit $'`kill` doesn\'t handle a non-existent job correctly when passed \'%-\''
 | 
			
		||||
 | 
			
		||||
# ======
 | 
			
		||||
# SIGINFO should be supported by the kill builtin on platforms that have it.
 | 
			
		||||
if "$(whence -p kill)" -INFO $$ 2> /dev/null
 | 
			
		||||
then
 | 
			
		||||
	kill -INFO $$ || err_exit '`kill` cannot send SIGINFO to processes when passed `-INFO`'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# ======
 | 
			
		||||
exit $((Errors<125?Errors:125))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue