You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Andrew Grieve (JIRA)" <ji...@apache.org> on 2012/09/24 16:57:07 UTC

[jira] [Created] (CB-1532) FileTransfer.abort() may not work right .download()/.upload() due to a race condition.

Andrew Grieve created CB-1532:
---------------------------------

             Summary: FileTransfer.abort() may not work right .download()/.upload() due to a race condition.
                 Key: CB-1532
                 URL: https://issues.apache.org/jira/browse/CB-1532
             Project: Apache Cordova
          Issue Type: Bug
          Components: Android
    Affects Versions: 2.2.0
            Reporter: Andrew Grieve
            Assignee: Andrew Grieve
            Priority: Minor
             Fix For: 2.2.0


.abort() must run after .upload() or .download(). However, .upload() and .download() get run on a background thread, so there is no guarantee of ordering.

I think the fix here is to tweak the plugin API to allow async plugins to start running sync, and then dispatch their async part by themselves rather than having PluginManager do it. 

Will bring up on mailing-list before making changes on this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (CB-1532) FileTransfer.abort() may not work right .download()/.upload() due to a race condition.

Posted by "Andrew Grieve (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CB-1532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Grieve resolved CB-1532.
-------------------------------

    Resolution: Fixed

commit: 
https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git;a=commit;h=05bc1865a63a09a2fde92adeb1ffc59884ef4dc3
                
> FileTransfer.abort() may not work right .download()/.upload() due to a race condition.
> --------------------------------------------------------------------------------------
>
>                 Key: CB-1532
>                 URL: https://issues.apache.org/jira/browse/CB-1532
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 2.2.0
>            Reporter: Andrew Grieve
>            Assignee: Andrew Grieve
>            Priority: Minor
>             Fix For: 2.2.0
>
>
> .abort() must run after .upload() or .download(). However, .upload() and .download() get run on a background thread, so there is no guarantee of ordering.
> I think the fix here is to tweak the plugin API to allow async plugins to start running sync, and then dispatch their async part by themselves rather than having PluginManager do it. 
> Will bring up on mailing-list before making changes on this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira