Palm OS 4.0 Codewarrior 9
I sometimes need to delete a very large database during startup. It takes more than a minute to delete it. From within AppStart, I run:
error = DmDeleteDatabase(0, dbId);
Before DmDeleteDatabase() returns, POSE displays the following message:
"The Memory Manager semaphore has been held for long than 1 minute. Palm recommends that applications not acquire the Memory Manager semaphore at all, but that if they do, they should not hold the semaphore any longer than that."
I know how to turn off the POSE message, but I like to fix anything POSE complains about. I have no idea what to do about this. Does anyone have any suggestions?
This is a combination of an POSE and a OS problem. You're not doing anything wrong, but if you want the message to go away, you could manually loop through the DB yourself, delete all the records first, and then delete the DB. That would solve the "holding the memory semaphore too long" issue.
-- Ben Combee, DTS technical lead, PalmSource, Inc. "Combee on Palm OS" weblog: http://palmos.combee.net/ Palm OS Dev Fourm Archives: http://news.palmos.com/read/all_forums/
-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
