# define _GNU_SOURCE
# include <stdio.h>
# include <math.h>
# include <stdlib.h>
# include <pthread.h>
# include <stdlib.h>
pthread_mutex_t mux = PTHREAD_MUTEX_INITIALIZER;
struct p2p{
int st;
int en;
};
void *primeChk(void* val);
int main()
{
pthread_t thread1,thread2,thread3,thread4;
struct p2p valu1,valu2,valu3,valu4;
int j,ret1,ret2,ret3,ret4;
cpu_set_t cpuset;
// pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset);
valu1.st = 1;
valu1.en = 5000;
valu2.st = 5001;
valu2.en = 10000;
valu3.st = 10001;
valu3.en = 15000;
valu4.st = 15001;
valu4.en = 20000;
// initialization
CPU_ZERO(&cpuset);
CPU_SET(0,&cpuset);
pthread_setaffinity_np(thread1, sizeof(cpu_set_t), &cpuset);
ret1 = pthread_create(&thread1,NULL,&primeChk,(void*)&valu1);
//CPU_ZERO(&cpuset);
CPU_SET(1,&cpuset);
pthread_setaffinity_np(thread2, sizeof(cpu_set_t), &cpuset);
ret2 = pthread_create(&thread2,NULL,&primeChk,(void*)&valu2);
// CPU_ZERO(&cpuset);
/*
CPU_SET(2,&cpuset);
pthread_setaffinity_np(thread3, sizeof(cpu_set_t), &cpuset);
ret3 = pthread_create(&thread3,NULL,&primeChk,(void*)&valu3);
CPU_SET(3,&cpuset);
pthread_setaffinity_np(thread4, sizeof(cpu_set_t), &cpuset);
ret4 = pthread_create(&thread4,NULL,&primeChk,(void*)&valu4);
*/
pthread_join(thread1,NULL);
pthread_join(thread2,NULL);
// pthread_join(thread3,NULL);
// pthread_join(thread4,NULL);
return 0;
}
void *primeChk(void *val)
{
struct p2p *valu = (struct p2p *)val;
int str,end,i,k,j,l,m;
// pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
str = valu->st;
end = valu->en;
if(str == 1)
printf("%d",++str);
pthread_mutex_lock(&mux);
for(i=str;i<=end;i++)
{
k = sqrt(i);l = 0;
for(j=2;j<=k+1;j++)
if(i % j == 0)
{
l = 1;break;
}
if(l == 0)printf(" %d",i);
}
pthread_mutex_unlock(&mux);
//pthread_getaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
// printf("\nSet returned by pthread_getaffinity_np() contained:\n");
// for (j = 0; j < CPU_SETSIZE; j++)
// if (CPU_ISSET(j, &cpuset))
// printf(" CPU %d\n", j);
}
My video conferencing project was completed as 300 project for 3rd year.It is not totally completed. There is some bug in here.To solve these bugs and to help other students this project is open.It is first try to make a project open source in this way so it can be modified.Any kind of question against this project will be answered. As this project was created in 3rd year 1st semester and now i nearly completed my BSc. so there will be little description about this.I will try to describe every class and function later when i get the chance. For more details and how to build and run go to this link in github.com . Latest code and binary release : VideoConference-v1.1 Older code and binary release : VideoConference-v1.0 Fix: 1. When in Video chat the Text chat option hanged for good. ################################################################################# FEATURE #############################################################################...
Comments
Post a Comment