while(1)
{
pid = fork();
//자식 프로세스 시작구간
if(pid == 0)
{
printf("%d th,New Client Connect: %s\n", count,inet_ntoa(clientaddr.sin_addr));
close(server_sockfd);
msg.ClaAddr = claFd;
if ((n = read(claFd,(struct Client_msg *)&msg , MAXBUF)) <= 0)
{
close(claFd);
}
printf("received String : %s \n Integer : %d \n",msg.buf,msg.number);
printf("now, create worker Threads \n");
pthread_create(&thread_id, NULL, thread_func, (void *)&msg);
pthread_detach(thread_id);
}
else if(pid > 0){
printf("\n -Parent Process are working- \n");
claFd = accept(server_sockfd, (struct sockaddr *)&clientaddr,&client_len);
count++;
close(claFd);
}
뭐가 문제였던 거죠??
자식 프로세스가 일 끝나자마자 자신의 프로세스도 포크해버려서 그런건가..?
맥북이 먹가버려서 심장 덜렁
댓글 0