mirror of
				https://github.com/go-delve/delve.git
				synced 2025-10-31 10:47:27 +08:00 
			
		
		
		
	proc: bugfix: propagate signals we don't handle to inferior
Fixes #419 (partial)
This commit is contained in:
		
							
								
								
									
										31
									
								
								proc/proc_unix_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								proc/proc_unix_test.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| // +build linux darwin | ||||
|  | ||||
| package proc | ||||
|  | ||||
| import ( | ||||
| 	"testing" | ||||
| 	"time" | ||||
| 	"syscall" | ||||
|  | ||||
| 	protest "github.com/derekparker/delve/proc/test" | ||||
| ) | ||||
|  | ||||
| func TestIssue419(t *testing.T) { | ||||
| 	// SIGINT directed at the inferior should be passed along not swallowed by delve | ||||
| 	withTestProcess("issue419", t, func(p *Process, fixture protest.Fixture) { | ||||
| 		go func() { | ||||
| 			for { | ||||
| 				if p.Running() { | ||||
| 					time.Sleep(2 * time.Second) | ||||
| 					err := syscall.Kill(p.Pid, syscall.SIGINT) | ||||
| 					assertNoError(err, t, "syscall.Kill") | ||||
| 					return | ||||
| 				} | ||||
| 			} | ||||
| 		}() | ||||
| 		err := p.Continue() | ||||
| 		if _, exited := err.(ProcessExitedError); !exited { | ||||
| 			t.Fatalf("Unexpected error after Continue(): %v\n", err) | ||||
| 		} | ||||
| 	}) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 aarzilli
					aarzilli