Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6a4113d authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 26917 into eclair

* changes:
  Fix invokables to make sure script pointers are setup before invoking function calls.  Reduce app startup time up to 1s.
parents b7e89e4c e60446b9
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -2,8 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.fountain">
    <application android:label="Fountain">
        <activity android:name="Fountain"
                  android:theme="@android:style/Theme.Translucent">
        <activity android:name="Fountain">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
+1 −1
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ Context::Context(Device *dev, Surface *sur, bool useDepth)
    }

    while(!mRunning) {
        sleep(1);
        usleep(100);
    }

    pthread_attr_destroy(&threadAttr);
+2 −2
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ void LocklessCommandFifo::makeSpace(uint32_t bytes)
    if ((mPut+bytes) > mEnd) {
        // Need to loop regardless of where get is.
        while((mGet > mPut) && (mBuffer+4 >= mGet)) {
            sleep(1);
            usleep(100);
        }

        // Toss in a reset then the normal wait for space will do the rest.
@@ -170,7 +170,7 @@ void LocklessCommandFifo::makeSpace(uint32_t bytes)

    // it will fit here so we just need to wait for space.
    while(getFreeSpace() < bytes) {
        sleep(1);
        usleep(100);
    }

}
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ void rsi_ScriptSetInvoke(Context *rsc, const char *name, uint32_t slot)
void rsi_ScriptInvoke(Context *rsc, RsScript vs, uint32_t slot)
{
    Script *s = static_cast<Script *>(vs);
    s->setupScript();
    s->mEnviroment.mInvokables[slot]();
}

+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ public:



    virtual void setupScript() = 0;
    virtual bool run(Context *, uint32_t launchID) = 0;
};

Loading