so I gonna answer inline there, but that's it ... stop pilling up different subjects altogether
it is simple as create another thread, and then link to the thread in your answer
answer here mainly about events
I disagree with the part "core Event system is synchronous", not the first time I see that,
I got the same argument with a whole engineering team at some company long time ago,
but no, I can assure you, events are asynchronous.
An object dispatches an AsyncErrorEvent when an exception is thrown from native asynchronous code, which could be from, for example, LocalConnection, NetConnection, SharedObject, or NetStream.
So it's not all white or black, the main event loop of Flash/AIR is probably implemented with 2 things
- a sort of
- an intercept external event function
Many things are made to be predictable like the duration of frames, the rendering etc.
but there are many other things that are not predictable.
The "I can not predict or assume in which order the events occurs" is what make me say that the main event loop is asynchronous.
Another more in depth example is if you look into CrossBridge you will find an API call
AS3_GoAsync() see the doc
When breaking a C/C++ run-loop so that Crossbridge code is suitable for use without using multi-threading you need to execute main, so the static initializers for your code are run, but you want to prevent the static destructors from running so it is important that main does not return. By throwing an AS3 exception and preserving the stack we can effectively interrupt the execution of main.
which lead to that great explanation Sample 4: Animation
The last sample showed how to inter-operate with the stage during main(), but what if you want to drive an animation from C++? Because AS3 is single threaded, you can't simply put a while(true) loop in main as that would block the main Flash player thread and block screen updates, input events, and sound.
On my side I don't understand why you keep using the word "interrupts" in relation to events
for me an interrupts is something related to C signals, it is a kind of low-level kernel events
but nothing in related to AS3 events.
Anyway, even if you don't use pthreads (workers) and use a simple synchronous loop on the C front-end to implements events in the AS3 front-end, you still gonna have to mix it with that famous "intercept external event function" which will make then the behaviour of AS3 asynchronous.
My guess is you did not read the notes here
implement events (google code Issue 4) #46.
Read that then we can talk more.
Another subject for another thread.
It's not my worker class, it is the one from the tamarin/avmplus project, so it is the same as the one used in the Flash Player or Adobe AIR.
It is implemented cross-platform using pthreads
see Multithreaded C programming with the Adobe Flash C Compiler (FlasCC)
See how you are adding more and more different subjects ?
Anyway, to understand what I mean by "event loop", please read
flash.events package #82
I'm not completely convinced here.
Look ... I can point into the right direction, but imho you are lacking many concepts about the AVM2 runtime and how the C/C++ part interact with AS3 part, and that's OK it is a complicated subject.
The thing is I can not transfer the 10 years I spent working on redtamarin just by answering questions, so if you want to figure out how things work, well .. you gonna have to put some work into it.
So again keep a thread about a single subject if you need to ask questions, ideally if the questions are about bugs/issues with redtamarin itself you should post that on the github issue tracker.
OK so let's start with the basic
- which version of Windows ?
- how did you install redtamarin-sdk ?
- which version of the redtamarin-sdk did you install ?
- Do you use ConEmu or other POSIX shell ?
cmd.exe is not supported
- how is the structure of your project ?
- from which directory you try to run what ?
- what is the content of
Now from what you answer I would say
- don't run the commands from Eclipse use a proper Terminal/Console first
and once you see how it works then you can adapt to Eclipse with builders and other commands
- if your console prompte starts with
C:\> you are using
cmd.exe, it will not work
use a POSIX console/terminal like the Cygwin console, ConEmu, etc.
eg. the prompt should starts with
- my guess is that the way the "Build All" builder is setup in Eclipse the executable
can not find the path of the
*.as file because of the "current working directory"
but "as is" I can not be sure that is your exact problem,
I'm used to trolling behaviours ...