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

Commit 5959d522 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix race condition in extension string creation" into main

parents c9e99f79 5e94634d
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -383,14 +383,6 @@ EGLBoolean egl_display_t::initialize(EGLint* major, EGLint* minor) {
        // before using cnx->major & cnx->minor
        if (major != nullptr) *major = cnx->major;
        if (minor != nullptr) *minor = cnx->minor;
    }

    { // scope for refLock
        std::unique_lock<std::mutex> _l(refLock);
        eglIsInitialized = true;
        refCond.notify_all();
    }

        auto mergeExtensionStrings = [](const std::vector<std::string>& strings) {
            std::ostringstream combinedStringStream;
            std::copy(strings.begin(), strings.end(),
@@ -399,6 +391,14 @@ EGLBoolean egl_display_t::initialize(EGLint* major, EGLint* minor) {
            return gBuiltinExtensionString + combinedStringStream.str();
        };
        mExtensionString = mergeExtensionStrings(extensionStrings);
    }

    { // scope for refLock
        std::unique_lock<std::mutex> _l(refLock);
        eglIsInitialized = true;
        refCond.notify_all();
    }

    return EGL_TRUE;
}