[PATCH 2/2] ntdll: Don't set socket IO status after queuing async.

Paul Gofman pgofman at codeweavers.com
Thu Dec 16 13:58:38 CST 2021


On 12/16/21 22:56, Paul Gofman wrote:
> Thanks for spotting all that.
>
> On 12/16/21 22:43, Zebediah Figura (she/her) wrote:
>>
>>
>>> @@ -1666,7 +1669,8 @@ NTSTATUS sock_ioctl( HANDLE handle, HANDLE 
>>> event, PIO_APC_ROUTINE apc, void *apc
>>>                   io->Information = sizeof(*ws_linger);
>>>               }
>>>   -            return ret ? sock_errno_to_status( errno ) : 
>>> STATUS_SUCCESS;
>>> +            status = ret ? sock_errno_to_status( errno ) : 
>>> STATUS_SUCCESS;
>>> +            break;
>>>           }
>>>             case IOCTL_AFD_WINE_SET_SO_LINGER:
>>
>> And this might close "fd" twice.
>
>
> I must be missing something but not sure how? 
> IOCTL_AFD_WINE_SET_SO_LINGER and other similar cases return 
> do_setsockopt() and fd is opened and closed inside do_setsockopt()?
>
>
>
Sorry, I was looking into the wrong case, I see now.




More information about the wine-devel mailing list