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]