RE: [HACKERS] Bug in postgresql-6.3.2

Stupor Genius <stuporg@erols.com>

From: "Stupor Genius" <stuporg@erols.com>
To: "Hackers" <pgsql-hackers@postgresql.org>
Date: 1998-05-22T05:27:41Z
Lists: pgsql-hackers
> The line you are complaining about is:
> 
>     if ((port->sock = accept(server_fd,
>                              (struct sockaddr *) & port->raddr,
>                              &addrlen)) < 0)
> 
> while BSDI has accept defined as:
> 
> 	int accept(int s, struct sockaddr *addr, int *addrlen);
> 
> So AIX has the last parameter defined as size_t, huh?  I looked at the
> accept manual page, and addrlen is the length of the addr field.  Hard
> to imagine that is ever going to be larger than an int.  Does any other
> OS have that third parameter as anything but an int*?
> 
> We may need to add some aix-specific check on a configure check for
> this.

>From aix 4.1 to 4.2, it changed from an int* to an unsigned long*, which
is probably what size_t is defined as.

Wasn't just accept() though. There were other socket functions, but I
don't recall the names offhand.  Not around aix anymore either... :)

Check thru the questions digests. I helped a couple of people compile
past this glitch, latest being Jim Kraii I believe.

darrenk