Martin Wilck <[EMAIL PROTECTED]> 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
[EMAIL PROTECTED]

Reply via email to