pause01.c revision aa35472f8d18e308cbce3bf599c55de88cca94d5
1e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner/*
2fd93908ae8b9684fe71c239e3c6cfe13ff6a2663Misha Brukman * Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
3e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
4e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * This program is free software; you can redistribute it and/or modify it
54ee451de366474b9c228b4e5fa573795a715216dChris Lattner * under the terms of version 2 of the GNU General Public License as
64ee451de366474b9c228b4e5fa573795a715216dChris Lattner * published by the Free Software Foundation.
7fd93908ae8b9684fe71c239e3c6cfe13ff6a2663Misha Brukman *
8e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * This program is distributed in the hope that it would be useful, but
9e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * WITHOUT ANY WARRANTY; without even the implied warranty of
10c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen *
12c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen * Further, this software is distributed without any warranty that it is
13c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen * free of the rightful claim of any third person regarding infringement
14c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen * or the like.  Any license provided herein, whether implied or
15c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen * otherwise, applies only to this software file.  Patent licenses, if
16e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * any, provided herein do not apply to combinations of this program with
17c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen * other software, or any other product whatsoever.
18c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen *
19c86b67742a3298c0a5a715b57a64f11107b8a3f2Gordon Henriksen * You should have received a copy of the GNU General Public License along
20e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * with this program; if not, write the Free Software Foundation, Inc., 59
21e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * Temple Place - Suite 330, Boston MA 02111-1307, USA.
22e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
23e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
24dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner * Mountain View, CA  94043, or:
25dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner *
26dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner * http://www.sgi.com
2714ce9ef2e9013ba56e1daafebd91fe3ee1e8647eOwen Anderson *
28e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * For further information regarding this notice, see:
29e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
3013e16b65ddd679d6edb5f182d683701fdea37b85Devang Patel * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
31ef9b9a793949469cdaa4ab6d0173136229dcab7bReid Spencer *
3278d033e086e19e016273de014f9214aa6f3f844bReid Spencer */
339adb01cbc3ef70e7fa8b4d6b1a1229c63082a496Devang Patel/* $Id: pause01.c,v 1.2 2006/05/26 06:26:40 vapier Exp $ */
348c231e5dda26b790ff388fe2f70eeeda621c9261Devang Patel/**********************************************************
35e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
36e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    OS Test - Silicon Graphics, Inc.
37e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
388aa9fba7cbc9ed58a0f5e32ad5e54c3bb984b3e4Nick Lewycky *    TEST IDENTIFIER	: pause01
39e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
40e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    EXECUTED BY	: anyone
41ecd94c804a563f2a86572dcf1d2e81f397e19daaNick Lewycky *
42c2bbfc18e9adbbdcf5b3375d8d25e2452f7df7f1Dan Gohman *    TEST TITLE	: Basic test for pause(2)
43ae73dc1448d25b02cabc7c64c86c64371453dda8Dan Gohman *
44e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    PARENT DOCUMENT	: xxxtds01
45f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *
46f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *    TEST CASE TOTAL	: 1
47f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *
48f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *    WALL CLOCK TIME	: 2
49f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *
50f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *    CPU TYPES		: ALL
51229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel *
528aa9fba7cbc9ed58a0f5e32ad5e54c3bb984b3e4Nick Lewycky *    AUTHOR		: William Roske
53f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *
54f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *    CO-PILOT		: Dave Fenner
55f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *
56f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *    DATE STARTED	: 03/30/92
57229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel *
58e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    INITIAL RELEASE	: UNICOS 7.0
59e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
60e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    TEST CASES
61e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
62e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * 	1.) pause(2) returns...(See Description)
63e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
6423e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *    INPUT SPECIFICATIONS
658aa9fba7cbc9ed58a0f5e32ad5e54c3bb984b3e4Nick Lewycky * 	The standard options for system call tests are accepted.
6623e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *	(See the parse_opts(3) man page).
6723e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *
6823e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *    OUTPUT SPECIFICATIONS
6923e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *
7023e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *    DURATION
7123e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel * 	Terminates - with frequency and infinite modes.
7223e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *
7323e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *    SIGNALS
7423e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel * 	Uses SIGUSR1 to pause before test if option set.
7523e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel * 	(See the parse_opts(3) man page).
7623e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *
77e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    RESOURCES
78e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * 	None
79844731a7f1909f55935e3514c9e713a62d67662eDan Gohman *
80844731a7f1909f55935e3514c9e713a62d67662eDan Gohman *    ENVIRONMENTAL NEEDS
81844731a7f1909f55935e3514c9e713a62d67662eDan Gohman *      No run-time environmental needs.
82844731a7f1909f55935e3514c9e713a62d67662eDan Gohman *
83e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    SPECIAL PROCEDURAL REQUIREMENTS
84e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner * 	None
85e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *
86e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner *    INTERCASE DEPENDENCIES
87f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel * 	None
88f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *
89f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *    DETAILED DESCRIPTION
90f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *	This is a Phase I test for the pause(2) system call.  It is intended
91f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *	to provide a limited exposure of the system call, for now.  It
92f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *	should/will be extended when full functional tests are written for
93f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *	pause(2).
94f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel *
9523e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel * 	Setup:
9623e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel * 	  Setup signal handling.
9723e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *	  Pause for SIGUSR1 if option specified.
9823e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *
9923e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel * 	Test:
10023e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *	 Loop if the proper options are given.
10123e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel * 	  Execute system call
10223e528be8069ead5f598e4043481fa2ef122a0e6Devang Patel *	  Check return code, if system call failed (return=-1)
103bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel *		Log the errno and Issue a FAIL message.
104bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel *	  Otherwise, Issue a PASS message.
105bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel *
106bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel * 	Cleanup:
107bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel * 	  Print errno log and/or timing stats if options given
108bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel *
109bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel *
110bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
111bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel
112bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel#include <errno.h>
113dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner#include <signal.h>
114dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner#include "test.h"
1150eeb913aa17a68b1f2963b02ca1d68f09dba0b78Chris Lattner#include "usctest.h"
116dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner
117dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattnervoid setup();
118bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patelvoid cleanup();
1190eeb913aa17a68b1f2963b02ca1d68f09dba0b78Chris Lattner
120dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner
121bb46f52027416598a662dc1c58f48d9d56b1a65bRafael Espindola
122dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattnerchar *TCID="pause01"; 		/* Test program identifier.    */
123dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattnerint TST_TOTAL=1;    		/* Total number of test cases. */
124dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattnerextern int Tst_count;		/* Test Case counter for tst_* routines */
125f23de86fa3b275cabc6450349dcbbb448ee5952bDevang Patel
126f23de86fa3b275cabc6450349dcbbb448ee5952bDevang Patelint exp_enos[]={EINTR, 0};
127fd93908ae8b9684fe71c239e3c6cfe13ff6a2663Misha Brukmanvoid go();
128dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner
1290eeb913aa17a68b1f2963b02ca1d68f09dba0b78Chris Lattnerint
130bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patelmain(int ac, char **av)
131bf5db817f4f66701f3efd7c7ae001cc36f825086Devang Patel{
132dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner    int lc;		/* loop counter */
133e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner    char *msg;		/* message returned from parse_opts */
1347f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner
1357f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner    /***************************************************************
136f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel     * parse standard options
1377f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner     ***************************************************************/
138dec628eead87b20773c98a00830580df211acc98Chris Lattner    if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
1397f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner	tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
140bb46f52027416598a662dc1c58f48d9d56b1a65bRafael Espindola
141460f656475738d1a95a6be95346908ce1597df25Daniel Dunbar    /***************************************************************
142f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel     * perform global setup for test
143f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel     ***************************************************************/
1447f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner    setup();
1457f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner
1467f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner    /* set the expected errnos... */
1477f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner    TEST_EXP_ENOS(exp_enos);
1487f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner
149f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel    /***************************************************************
150f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel     * check looping state if -c option given
151f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel     ***************************************************************/
152f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel    for (lc=0; TEST_LOOPING(lc); lc++) {
153f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel
154f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel	/* reset Tst_count in case we are looping. */
155f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel	Tst_count=0;
1567f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner
1577f1444bc0aefdd924e9b231e20d4c0529311e141Chris Lattner        (void) signal(SIGALRM, go);
1584460a7e90c318857a37be386a7ebccff3020a795Devang Patel        alarm(1);
159401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	/*
160401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	 * Call pause(2)
161401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	 */
162401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	TEST(pause());
163401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner
164401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	/* check return code.  Pause returns -1 and EINTR errno */
165401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	if (TEST_RETURN != -1) {
166401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	    tst_resm(TFAIL,
167401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner		     "pause() returned WITHOUT an error return code : %d",
168401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner		     TEST_ERRNO);
169401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	} else {
170401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner	    /* log the errno */
1714460a7e90c318857a37be386a7ebccff3020a795Devang Patel	    TEST_ERROR_LOG(TEST_ERRNO);
1724460a7e90c318857a37be386a7ebccff3020a795Devang Patel	    /***************************************************************
1734460a7e90c318857a37be386a7ebccff3020a795Devang Patel	     * only perform functional verification if flag set (-f not given)
1747db949df789383acce98ef072f08794fdd5bd04eDan Gohman	     ***************************************************************/
1754460a7e90c318857a37be386a7ebccff3020a795Devang Patel	    if ( STD_FUNCTIONAL_TEST ) {
1764460a7e90c318857a37be386a7ebccff3020a795Devang Patel		/* check the errno */
177401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner		if (TEST_ERRNO == EINTR)
178401e10c4fbfcdcfade5065093e2ca97f69a1d144Chris Lattner		    tst_resm(TPASS, "pause() returned %d", TEST_RETURN);
1794460a7e90c318857a37be386a7ebccff3020a795Devang Patel		else
180229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel		    tst_resm(TFAIL, "pause() returned %d. Expected %d (EINTR)",
181229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel			     TEST_RETURN, EINTR);
182bb46f52027416598a662dc1c58f48d9d56b1a65bRafael Espindola	    }
183460f656475738d1a95a6be95346908ce1597df25Daniel Dunbar	}
184f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel    }	/* End for TEST_LOOPING */
185229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel
186229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel    /***************************************************************
187229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel     * cleanup and exit
188bb46f52027416598a662dc1c58f48d9d56b1a65bRafael Espindola     ***************************************************************/
189460f656475738d1a95a6be95346908ce1597df25Daniel Dunbar    cleanup();
190f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel
191f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel    return 0;
192229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel}	/* End main */
193229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel
194229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel/***************************************************************
195f17fc461d17f9fa85f8fbc140ded8f3c591791e2Devang Patel * setup() - performs all ONE TIME setup for this test.
1968c231e5dda26b790ff388fe2f70eeeda621c9261Devang Patel ***************************************************************/
197229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patelvoid
198229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patelsetup()
199e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner{
200229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel    /* capture signals */
201229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel    tst_sig(NOFORK, DEF_HANDLER, cleanup);
202229de95eabb7f5350a42152eab8c4c8643cdd0bfDevang Patel
2037db949df789383acce98ef072f08794fdd5bd04eDan Gohman    /* Pause if that option was specified */
204e3ad43c828280cf11e8631f1a814a51a0b168016Chris Lattner    TEST_PAUSE;
20576e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel}	/* End setup() */
20676e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel
207e4b275610a7a05b7ee4c0378a906a6330e4c4ab0Devang Patel
208e4b275610a7a05b7ee4c0378a906a6330e4c4ab0Devang Patel/***************************************************************
20976e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel * cleanup() - performs all ONE TIME cleanup for this test at
2104ca9757a39a1bf3bd1264a77e52db62e02cc85fbJim Laskey *		completion or premature exit.
2114ca9757a39a1bf3bd1264a77e52db62e02cc85fbJim Laskey ***************************************************************/
2124ca9757a39a1bf3bd1264a77e52db62e02cc85fbJim Laskeyvoid
2134ca9757a39a1bf3bd1264a77e52db62e02cc85fbJim Laskeycleanup()
2144ca9757a39a1bf3bd1264a77e52db62e02cc85fbJim Laskey{
21576e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel    /*
2164ca9757a39a1bf3bd1264a77e52db62e02cc85fbJim Laskey     * print timing stats if that option was specified.
217dd0ecf67316d68940fda2733faacf73b8bd22ec6Chris Lattner     * print errno log if that option was specified.
218e4b275610a7a05b7ee4c0378a906a6330e4c4ab0Devang Patel     */
21976e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel    TEST_CLEANUP;
22076e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel
221e4b275610a7a05b7ee4c0378a906a6330e4c4ab0Devang Patel    /* exit with return code appropriate for results */
22276e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel    tst_exit();
22376e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel}	/* End cleanup() */
22476e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel
22576e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel/* routine to catch the alarm signal */
22676e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patelvoid
22776e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patelgo()
22876e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel{
22976e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel}
23076e3e50b8a2c72598b7ee586dd383bb63a236682Devang Patel