1*b725ae77Skettenis /* This program is intended to be started outside of gdb, and then 2*b725ae77Skettenis attached to by gdb. Thus, it simply spins in a loop. The loop 3*b725ae77Skettenis is exited when & if the variable 'should_exit' is non-zero. (It 4*b725ae77Skettenis is initialized to zero in this program, so the loop will never 5*b725ae77Skettenis exit unless/until gdb sets the variable to non-zero.) 6*b725ae77Skettenis */ 7*b725ae77Skettenis #include <stdio.h> 8*b725ae77Skettenis #include <stdlib.h> 9*b725ae77Skettenis #include <unistd.h> 10*b725ae77Skettenis 11*b725ae77Skettenis int should_exit = 0; 12*b725ae77Skettenis main()13*b725ae77Skettenisint main () 14*b725ae77Skettenis { 15*b725ae77Skettenis int local_i = 0; 16*b725ae77Skettenis 17*b725ae77Skettenis sleep( 10 ); /* System call causes register fetch to fail */ 18*b725ae77Skettenis /* This is a known HPUX "feature" */ 19*b725ae77Skettenis while (! should_exit) 20*b725ae77Skettenis { 21*b725ae77Skettenis local_i++; 22*b725ae77Skettenis } 23*b725ae77Skettenis return (0); 24*b725ae77Skettenis } 25