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