New eject command issue

Christian Costa titan.costa at wanadoo.fr
Sat Nov 12 08:39:42 CST 2005


Brian Vincent wrote:

>On 11/7/05, Christian Costa <titan.costa at wanadoo.fr> wrote:
>  
>
>>The error (21) suggest the drive is not ready or is finishing something.
>>Could you add a delay before the ejection IOCTL ?
>>    
>>
>
>No difference with this:
>
>     if (!DeviceIoControl( handle, IOCTL_STORAGE_MEDIA_REMOVAL,
>&removal, sizeof(removal), NULL, 0, &result, NULL ))
>         WINE_WARN( "IOCTL_STORAGE_MEDIA_REMOVAL failed with err
>%ld\n", GetLastError() );
>
>+    sleep(60);
>+
>     if (!unmount_only)
>     {
>         if (!DeviceIoControl( handle, IOCTL_STORAGE_EJECT_MEDIA,
>NULL, 0, NULL, 0, &result, NULL ))
>
>It still umounts and then exits.  Running it a second time works. 
>It's a laptop, not sure if that matters.
>
>-Brian
>  
>

60s ! Stange !

And during this delay are you able to eject by pushing the drive button ?
Are there files opened during this delay ?

Another thing, you may try duplicating the code and adding delays to 
reproduce the 2 invocations of eject and
then narrow down things to determine which ioctl should be called twice.

Bye,
Christian






More information about the wine-devel mailing list