{ "id": "120177", "key": "TIMOB-15276", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2016-12-27T13:48:36.000+0000", "created": "2013-09-18T22:30:38.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-23T22:28:34.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Multi­threading seems to be broken in Appcelerator iOS modules. Threads created within a proxy API method never ran, unless we added ENSURE_UI_THREAD_1_ARG(arg) to the start of the method.\r\n\r\nThis is not ideal having the initial method run on the UI thread, but under the circumstances acceptable, as the bulk of the work then happens inside a further (non UI) thread, relieving the UI thread very quickly.", "attachment": [], "flagged": false, "summary": "iOS: Unable to create a multithreaded Titanium Mobile module", "creator": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "271865", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Suggestion is to use TiThreadPerformOnMainThread instead of ENSURE_UI_THREAD_1_ARG, as that allows for a block to run inside the main thread while the rest is still in the JS background thread.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-18T22:31:52.000+0000", "updated": "2013-09-18T22:31:52.000+0000" }, { "id": "403874", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "The suggestion is correct. Using {{TiThreadPerformOnMainThread}} the block will be ran on the main thread without leaking context to different threads. Resolving ticket.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-12-27T13:48:36.000+0000", "updated": "2016-12-27T13:48:36.000+0000" }, { "id": "415435", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as Won't Fix with reference to the above comments.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-23T22:28:34.000+0000", "updated": "2017-03-23T22:28:34.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }