Esempio n. 1
0
void make_child(pchild cptr,int n)
{
	int i;
	int fds[2];
	int ret;
	int pid;
	for(i=0;i<n;i++)
	{
		ret=socketpair(AF_LOCAL,SOCK_STREAM,0,fds);
		if(-1==ret)
		{
			perror("socketpair");
			return;
		}
		pid=fork();
		if(0==pid)
		{
			close(fds[1]);
			child_handle(fds[0]);
		}
		close(fds[0]);
		cptr[i].pid=pid;
		cptr[i].fds=fds[1]; 
		cptr[i].busy=0;
		/*
		cptr[i].pid=pid;
		cptr[i].fds[0]=fds[0];
		cptr[i].fds[1]=fds[1];
		cptr[i].busy=0;
		*/
	}
}
Esempio n. 2
0
void make_child(pchild cptr,int num)
{
	int i;
	int pid;
	int fds[2];
	int ret;
	for(i=0;i<num;i++)
	{
		socketpair(AF_LOCAL,SOCK_STREAM,0,fds);
		pid=fork();
		if(pid==0)
		{
			close(fds[1]);
			child_handle(fds[0]);
		}
		close(fds[0]);
		cptr[i].pid=pid;
		cptr[i].fds=fds[1];
		cptr[i].busy=0;
	}
}