Home | History | Annotate | Download | only in tests
      1 /*
      2  * Copyright (C) 2012-2015 Cyril Hrubis <chrubis (at) suse.cz>
      3  *
      4  * This program is free software; you can redistribute it and/or modify it
      5  * under the terms of version 2 of the GNU General Public License as
      6  * published by the Free Software Foundation.
      7  *
      8  * This program is distributed in the hope that it would be useful, but
      9  * WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     11  *
     12  * Further, this software is distributed without any warranty that it is
     13  * free of the rightful claim of any third person regarding infringement
     14  * or the like.  Any license provided herein, whether implied or
     15  * otherwise, applies only to this software file.  Patent licenses, if
     16  * any, provided herein do not apply to combinations of this program with
     17  * other software, or any other product whatsoever.
     18  *
     19  * You should have received a copy of the GNU General Public License along
     20  * with this program; if not, write the Free Software Foundation, Inc.,
     21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
     22  */
     23 
     24 #include <sys/wait.h>
     25 
     26 #include "test.h"
     27 
     28 char *TCID = "tst_checkpoint_wait_timeout";
     29 int TST_TOTAL = 1;
     30 
     31 int main(void)
     32 {
     33 	int pid;
     34 
     35 	tst_tmpdir();
     36 
     37 	TST_CHECKPOINT_INIT(tst_rmdir);
     38 
     39 	pid = fork();
     40 
     41 	switch (pid) {
     42 	case -1:
     43 		tst_brkm(TBROK | TERRNO, NULL, "Fork failed");
     44 	break;
     45 	case 0:
     46 		TST_SAFE_CHECKPOINT_WAIT(NULL, 0);
     47 		fprintf(stderr, "Child: checkpoint reached\n");
     48 		exit(0);
     49 	break;
     50 	default:
     51 		fprintf(stderr, "Parent: exiting without signaling\n");
     52 		tst_rmdir();
     53 		exit(0);
     54 	break;
     55 	}
     56 
     57 	return 0;
     58 }
     59