apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: Patch option 1 - with apr_socket_create_protocol()
Date Fri, 18 Oct 2002 14:13:01 GMT
Randall Stewart <randall@stewart.chicago.il.us> writes:

> Jeff:
> Ok I just stole a few cycles and had a look... some quick comments.
> 1) In the network_io/win32/sockets.c
>     the call from apr_socket_create() to -> apr_socket_create_ex()
>    is going to not compile since you put in a variable "protocol" which
>    is not defined in the function.. I think you meant to put '0' in here
>    like you did in the other 2.

whoops!  (now fixed)

> 2) The change in apr_os_sock_put to specify TCP is, IMO, the wrong
>     thing to do... A quick check of cscope in httpd shows 6 users of
>     this call and of those 6, 4 of the uses are for NON-TCP sockets (at
>     least I think they are.. called things like the "pipe of death" etc.
>     Of the 2 that use TCP .. once SCTP shows up this will cause
>     some problems (at least in the mpm files). They are passing the
>     listener sockets to the child and setting them. One of them knows
>     the protocol (if it cared to get it) the other does not.. and
>     I would imagine will need to send it...
>     Maybe for now just specifying '0' .. or maybe we need a
>     APR_PROT_UNKNOWN -> 0... definition. Sigh.. ugly either
>     way..

definitely ugly...  we have a way to create a socket from a descriptor
where the app tells us the nitty gritty details (apr_os_sock_make) and
a way to create a socket from a descriptor where the app tells us
almost nothing...  I'll change apr_os_sock_put() to use 0 like you
suggest but I wonder why we need the apr_os_sock_put() if we get into
trouble like this trying to guess what kind of socket it is...
apr_os_sock_put() already is broken if type != SOCK_STREAM

Jeff Trawick | trawick@attglobal.net
Born in Roswell... married an alien...

View raw message