Raylib icon indicating copy to clipboard operation
Raylib copied to clipboard

program quits when using async/await

Open amnykon opened this issue 2 years ago • 1 comments

When using async/await, The program quits. I have tried only using Raylib commands on the Main Actor and main thread. Still crashes if there is an await.

I got it working with the following work around; however, this ties up the main thread with a semaphore.

    @MainActor static func main() {
        Raylib.initWindow(800, 450, "test")
        Raylib.setTargetFPS(60)
        
        while Raylib.windowShouldClose == false {
            let semaphore = DispatchSemaphore(value: 0)
            DispatchQueue.global().async {
                Task {
                    await update()
                    semaphore.signal()
                }
            }
            semaphore.wait()
            draw()
        }
        
        Raylib.closeWindow()
    }

amnykon avatar Oct 16 '23 22:10 amnykon

This sounds like it could be a pretty serious issue. Swift is big on concurrency. It'd be nice to know more at least.

7ombie avatar Sep 11 '24 17:09 7ombie