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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000103173027.A61058>
