/***************************************************
*--------------------------------------------------
* Creat : 2001. 04. 10 (programed by Cori-Young )
* Site: http://www.byoneself.co.kr
* Update :
*--------------------------------------------------
* Compile : cc -o xxx xxx.c -lpthread -lrt
*--------------------------------------------------
* Machine hardware: sun4u
* OS version: 5.7
* Processor type: sparc
* Hardware: SUNW,Ultra-60
***************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <pthread.h>
#include <stdio.h>
#define _MULTI_THREADED
static void checkResults(char *string, int rc) {
if (rc) {
printf("Error on : %s, rc=%d", string, rc);
exit(EXIT_FAILURE);
}
return;
}
void showInheritSched(pthread_attr_t *attr) {
int rc;
int inheritsched;
rc = pthread_attr_getinheritsched(attr, &inheritsched);
checkResults("pthread_attr_getinheritsched()n", rc);
switch(inheritsched) {
case PTHREAD_EXPLICIT_SCHED:
printf("Inherit Sched - PTHREAD_EXPLICIT_SCHEDn");
break;
case PTHREAD_INHERIT_SCHED:
printf("Inherit Sched - PTHREAD_INHERIT_SCHEDn");
break;
default:
printf("Invalid inheritsched attribute!n");
exit(1);
}
return;
}
int main(int argc, char **argv)
{
pthread_t thread;
int rc=0;
pthread_attr_t attr;
char c;
void *status;
printf("Enter Testcase - %sn", argv[0]);
rc = pthread_attr_init(&attr);
checkResults("pthread_attr_init()n", rc);
showInheritSched(&attr);
rc = pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED);
checkResults("pthread_attr_setinheritsched()n", rc);
showInheritSched(&attr);
rc = pthread_attr_destroy(&attr);
checkResults("pthread_attr_destroy()n", rc);
printf("Main completedn");
return 0;
} |
|