Date: Mon, 3 Jan 2000 17:30:27 +0100 From: Martin Cracauer <cracauer@cons.org> To: Steffen Merkel <d_f0rce@gmx.de> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Limited amount of variables in a multithreaded programm? Message-ID: <20000103173027.A61058@cons.org> In-Reply-To: <001301bf5540$66b72610$0201a8c0@blade>; from Steffen Merkel on Sun, Jan 02, 2000 at 05:42:43PM %2B0100 References: <001301bf5540$66b72610$0201a8c0@blade>
next in thread | previous in thread | raw e-mail | index | archive | help
In <001301bf5540$66b72610$0201a8c0@blade>, Steffen Merkel wrote: > int ping(struct in_addr *ipaddress){ > int s; /* socket handle for socket()*/ > int ident = getpid() & 0xFFFF; /* to ident ICMP message */ > int hlen; /* Header length */ > struct sockaddr_in *to; /* used to prepare tohost */ > struct sockaddr tohost; /* where to send ping - for sendto() */ > struct sockaddr fromhost; > struct ip *ip; > struct icmp *icp; /* used to generate icmp message */ > struct timeval *timetp; /* temporary time storage structure */ > struct timeval actimetp; /* store current time */ > u_char outmessage[MAXPACKET]; /* message we send */ > u_char inmessage[MAXPACKET]; /* message we receive */ > int i,ret; > > int mx_dup_ck = 1024; > return(10); /* I removed the ping-routine and replaced it with > * "return(10);" for testing reasons */ > } In FreeBSD, a normal process (fork/exec) has a stack that grows automatically as needed. You don't have this for threaded programs (and it is difficult to do). It's a save guess that this amount of stack allocation is more than the default stack size for a threaded program, and the stack cannot grow automatically. Did you check out the classic model before tangling with pthreads? :-) Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@cons.org> http://www.cons.org/cracauer/ BSD User Group Hamburg, Germany http://www.bsdhh.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000103173027.A61058>