AsyncLoading of cached files hangs main thread
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Panda3D |
Fix Released
|
Undecided
|
rdb |
Bug Description
Ubuntu 11.04 32, Panda3d nigthlybuild or cvs build or 1.8
There's some information and test code here:
http://
The same problem happens here:
http://
--
What I guess it's wrong:
Two threads (at least) is running:
1. BamCache is loading a heavy model, and his ReMutexHolder "_lock" is being held for the multithreaded approach.
2. The main thread is trying to render the frame. When it comes in GraphicsEngine:
Code:
BamCache *cache = BamCache:
cache->
BamCache:
description: | updated |
Changed in panda3d: | |
status: | Fix Committed → Fix Released |
Thanks for tracking this issue down! Checked in a fix; consider_ flush_index( ) now skips the operation entirely if it can't grab the lock (it will try again next frame anyway, so it's no big deal).