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 <[EMAIL PROTECTED]> http://www.cons.org/cracauer/
BSD User Group Hamburg, Germany     http://www.bsdhh.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to