[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] [patch #8765] Patch to make Gnash wait for return value i
From: |
Nutchanon Wetchasit |
Subject: |
[Gnash-commit] [patch #8765] Patch to make Gnash wait for return value in `ExternalInteface.call()` |
Date: |
Fri, 09 Oct 2015 10:20:48 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:25.5) Gecko/20150606 Firefox/31.9 PaleMoon/25.5.0 |
URL:
<http://savannah.gnu.org/patch/?8765>
Summary: Patch to make Gnash wait for return value in
`ExternalInteface.call()`
Project: Gnash - The GNU Flash player
Submitted by: nachanon
Submitted on: Fri 09 Oct 2015 05:20:47 PM ICT
Category: core
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
Currently, Gnash's implementation of `ExternalInteface.call()` used a
non-blocking read arrangement
<http://git.savannah.gnu.org/cgit/gnash.git/tree/libcore/ExternalInterface.cpp?id=f0f66ce7f644a631bbb5f51f78375298fdef3d40#n342>
when it was trying to read a
return value message from host container, which (in most case, if not always)
caused it to miss the message, and returned `undefined` value to user's
ActionScript code instead of the expected return value.
This patch adds a `select()` call to make `ExternalInterface::readBrowser()`
wait for the message (up to 10 sec); partially fixing bug #46131.
The patch should not cause any other problem, as
`ExternalInterface::readBrowser()`
is not used anywhere else in Gnash, and this is essentially what
the old code did
<http://git.savannah.gnu.org/cgit/gnash.git/tree/libcore/ExternalInterface.cpp?id=3cf449590f72a785e7dfb4f7948c04055b77c406#n483>,
before non-blocking behavior was introduced.
Might need a review since I'm not very familiar with the `select()` function.
Gnash: 0.8.11dev (patched against git f0f66ce 23-Sep-2015) NPAPI
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Fri 09 Oct 2015 05:20:47 PM ICT Name:
0001_make-externalinterface-call-wait-for-container-return.patch Size: 1kB
By: nachanon
Patch to make Gnash wait for return value from host container
<http://savannah.gnu.org/patch/download.php?file_id=35121>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/patch/?8765>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] [patch #8765] Patch to make Gnash wait for return value in `ExternalInteface.call()`,
Nutchanon Wetchasit <=