I wish that were true. Below is an example that creates a 5MB database,
closes it, opens it, writes to it, closes it, and does a reset. After
the reset, the database disappears on the TX simulators (release &
debug) and the real device. The debug simulator reports no errors. My
version is fully loaded with asserts, and every pointer is valid and
nothing returns an error. You don't have to create and write in the
same run. And, you don't have to reset within the program - you can
quit and reset later.

How much does changing the parameters affect the behavior?  If your
records were under 512 bytes each, do you still get the corruption?
What about fewer records?

The main thing I see wrong with this is that you're keeping over
10,000 records locked at one time.  That's a real stress test for the
MemHandleLock-based NVFS implementation.

Also, what happens if you add a "SysTaskDelay(100)" before the SysReset call?

--
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to