Home | History | Annotate | Download | only in sigpause
      1 /*
      2  * Copyright (c) 2003, Intel Corporation. All rights reserved.
      3  * Created by:  salwan.searty REMOVE-THIS AT intel DOT com
      4  * This file is licensed under the GPL license.  For the full content
      5  * of this license, see the COPYING file at the top level of this
      6  * source tree.
      7 
      8  This program verifies that sigpause() returns -1 and sets errno to EINVAL
      9  if passed an invalid signal number.
     10 
     11  */
     12 
     13 #define _XOPEN_SOURCE 600
     14 
     15 #include <pthread.h>
     16 #include <stdio.h>
     17 #include <signal.h>
     18 #include <errno.h>
     19 #include <unistd.h>
     20 #include "posixtest.h"
     21 
     22 #define SIGTOTEST SIGABRT
     23 
     24 #if 0 && defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
     25 int main(void)
     26 {
     27 	printf("Function definition doesn't match POSIX definition "
     28 	       "and preceded POSIX definition; interface is obsolete\n");
     29 	return PTS_UNSUPPORTED;
     30 }
     31 #else
     32 int main(void)
     33 {
     34 	int return_value = 0;
     35 	int result;
     36 
     37 	return_value = sigpause(-1);
     38 	if (return_value == -1) {
     39 		if (errno == EINVAL) {
     40 			printf("Test PASSED: sigpause returned -1 and "
     41 			       "set errno to EINVAL\n");
     42 			result = 0;
     43 		} else {
     44 			printf("Test FAILED: sigpause did not set errno "
     45 			       "to EINVAL\n");
     46 			result = 1;
     47 		}
     48 	} else {
     49 		printf("Test FAILED: sigpause did not return -1\n");
     50 		if (errno == EINVAL)
     51 			printf("Test FAILED: sigpause did not set errno "
     52 			       "to EINVAL\n");
     53 		result = 1;
     54 	}
     55 
     56 	if (result == 2)
     57 		return PTS_UNRESOLVED;
     58 	if (result == 1)
     59 		return PTS_FAIL;
     60 
     61 	printf("Test PASSED\n");
     62 	return PTS_PASS;
     63 }
     64 #endif
     65