wine/ dlls/winsock/socket.c dlls/winsock/ws2_3 ...

Alexandre Julliard julliard at winehq.com
Fri Apr 26 13:45:52 CDT 2002


Martin Wilck <Martin.Wilck at fujitsu-siemens.com> writes:

> -static int FILE_GetUnixHandleType( HANDLE handle, DWORD access, enum
> fd_type *type, int *flags )
> +static int FILE_GetUnixHandleType( HANDLE handle, DWORD access, enum
> fd_type *type, int *flags_ptr )
>  {
> -    int ret, fd = -1;
> +    int ret, flags, fd = -1;
> 
> -    ret = wine_server_handle_to_fd( handle, access, &fd, type, flags );
> +    ret = wine_server_handle_to_fd( handle, access, &fd, type, &flags );
> +    if (flags_ptr) *flags_ptr = flags;
> 
> This is of course the most robust solution - but because
> FILE_GetUnixHandleType is internal, you might as well require all
> functions calling it to pass a valid flags pointer, and let
> FILE_GetUnixHandle call wine_server_handle_to_fd directly, at a minimum
> performance gain.

My concern with that approach is that functions using
FILE_GetUnixHandle wouldn't handle the shutdown flags correctly. The
alternative would be to retire FILE_GetUnixHandle, or maybe move the
shutdown flags handling into wine_server_handle_to_fd.

-- 
Alexandre Julliard
julliard at winehq.com



More information about the wine-devel mailing list