Ææ¹ÖµÄÏ̴߳íÎó(·Ç¸ßÊÖ²»ÒªÂһظ´,лл!)
ÎÒÔÚ±àдÏ̳߳ÌÐòʱ,·¢ÏÖÆæ¹ÖµÄÏÖÏó.N3WeR)l³ÌÐòÊǼòµ¥µÄClient-Server»ØÏÔ³ÌÐò,Server¶ËʹÓÃÏ̼߳¼Êõ,ÿ½ÓÊÜÒ»¸ö¿Í»§¶ËÁ¬½Ó,´´½¨Ò»¸öÏ߳̽øÐлØÏÔ´¦Àí.
Ææ¹ÖµÄÊÇ,ÔÚRedHat7.2ϱàÒëºó,Ò»ÔËÐÐ,³ÌÐòÔÚpthread_create()´¦³öÏÖ"Segmentation fault"´íÎó.-h!YY6ZSSNb2I
ÔÚRedHat9.0ϱàÒë,³ÌÐòÔÚpthread_create()ûÓÐÈκδíÎó,½øÈëÏß³ÌÄÚ²¿µÄreadº¯Êýʱ,³öÏÖ"Segmentation fault"´íÎó,²»ÖªÊǺÎÔÒò? your code ? int main(int argc, char **argv)6GFbIX.k
{
pid_t childpid;
struct sockaddr_in6 servaddr;
int listenfd;
socklen_t clilen;4C+]y%A]Gwv
struct proc2thread_t *p2t;o)W\EM9ua
int on;
]*K3r]4hHV h
if ((argc > 1) && strncmp(argv[1], "-f", 2) == 0)7VA-~5[4[5R }o
goto dont_fork;
RN }PMh8w(C
if ((childpid = fork()) != 0)
exit(0);
#^l wK4tA5a5f)A
dont_fork:8O*gb(b fHv#Z;_
if ((listenfd = socket(AF_INET6, SOCK_STREAM, 0)) < 0)(H1d&|m7x!K:G8S dD
{
syslog(LOG_ERR, "Creation socket fail!\n");
exit(0);!\%G D6~Ok
}^f+DjX uJ
8f"a/\+A2q @!XD
bzero(&servaddr, sizeof(servaddr));o U[8nz3JLH
servaddr.sin6_family = AF_INET6;
servaddr.sin6_addr = in6addr_any;
servaddr.sin6_port = htons(SERV_PORT);g,s&^u7_x @
if (setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) < 0):B&T:TM@+n0S3Y
{FPud^9\~
syslog(LOG_ERR, "setsockopt of SO_REUSEPORT error");,W,q ^X0E9?@]W T
exit(0);+l_ T1kxBo
}