@@ -1878,72 +1878,6 @@ void sig_pause(){
1878
1878
}
1879
1879
}
1880
1880
1881
- void
1882
- cont_handler (int signal )
1883
- {
1884
- __asm__ ("movl $0x0,%eax\n\t" );
1885
- __asm__ ("movl $0x43,%ebx\n\t" );
1886
- __asm__ ("movl $0x76,%ecx\n\t" );
1887
- }
1888
-
1889
- void
1890
- tstp_handler (int signal )
1891
- {
1892
- __asm__ ("movl $0x25,%eax\n\t" );
1893
- __asm__ ("movl $0x87,%ebx\n\t" );
1894
- __asm__ ("movl $0x06,%ecx\n\t" );
1895
- }
1896
-
1897
- void
1898
- signaltest ()
1899
- {
1900
- printf (1 , "signaltest\n" );
1901
- int i = 0 ;
1902
- int pid = fork ();
1903
-
1904
- //child process
1905
- if (pid == 0 ) {
1906
- signal (SIGCONT , cont_handler );
1907
- signal (SIGTSTP , tstp_handler );
1908
- register uint eax asm ("%eax" );
1909
- register uint ebx asm ("%ebx" );
1910
- register uint ecx asm ("%ecx" );
1911
- __asm__ ("movl $0x21,%eax\n\t" );
1912
- __asm__ ("movl $0x10,%ebx\n\t" );
1913
- __asm__ ("movl $0x03,%ecx\n\t" );
1914
- uint saved_eax = eax ;
1915
- uint saved_ebx = ebx ;
1916
- uint saved_ecx = ecx ;
1917
- for (i = 0 ; i < 600 ; i ++ ){
1918
- //printf (1, "eax %d ebx %d ecx %d\n", eax, ebx, ecx);
1919
- saved_eax = eax ;
1920
- saved_ebx = ebx ;
1921
- saved_ecx = ecx ;
1922
- if (saved_eax != 33 || saved_ebx != 16 || saved_ecx != 3 ){
1923
- break ;
1924
- }
1925
- else {
1926
- sleep (1 );
1927
- continue ;
1928
- }
1929
- }
1930
- if (i == 600 ){
1931
- printf (1 , "signaltest OK\n" );
1932
- }
1933
- else {
1934
- printf (1 , "signaltest failed\n" );
1935
- }
1936
- }
1937
-
1938
- //parent process
1939
- else
1940
- {
1941
- sleep (200 );
1942
- sendkill (pid , SIGCONT );
1943
-
1944
- wait ();
1945
- }
1946
- }
1947
1881
1948
1882
unsigned long randstate = 1 ;
1949
1883
unsigned int
@@ -2006,8 +1940,6 @@ main(int argc, char *argv[])
2006
1940
iref ();
2007
1941
forktest ();
2008
1942
bigdir (); // slow
2009
- //signal
2010
- signaltest ();
2011
1943
2012
1944
uio ();
2013
1945
0 commit comments