Subject: re: Strange error when trying to intercept sysNotifyVolumeMountedEvent
From: "Dr. Vesselin Bontchev" <[EMAIL PROTECTED]>
Date: Sun, 1 May 2005 16:42:28 -0000
> All programs can run in Palm OS "background" all the time.
Nope, they don't. They reside in memory all the time - but at any given time, only one of them is actually running. They aren't given timeshares or even timer tick interrupts by the OS, either - something which is used on many OSes to implement pseudo-concurrency.
Again, you fail to understand what's going on and are trying to use your background in disk-based OS to understand Palm OS (and therefore mis-undertand)
It is true that on any single processor system only one program is running at any one time, even with a multi-tasking OS running a thousand different tasks.
And I agree that one missing aspect of Palm OS is the lack of a clock time event or notification, which would allow background programs to get a little bit of processing time (say) 10 times a second. If Palm had supported this then a lot of classic background processing could have been done a lot, lot easier. This is very high on my short-list of "stuff Palm should have done, but didn't".
But instead of this your program receives all system-level events and those notifications it has registered for. This are a lot more powerful as you receive these in background mode and can service them regardless of what the foreground program is doing. However, because the OS doesn't automatically take back control from a program after any specific period of time or after specific occasions, you have to be "well behaved" in your background processing and not do too much before handing control back to the OS by exiting your program.
Or pop-up a progress window so the user knows you are doing some processing, which may involve a separate initiation of your program using one of the techniques described in earlier e-mails. The need for this separate initiation is driven by whether the event or notification requires you to handle it very, very quickly, as some do.
PS: Given the nature of your software, I'd recommend you restrict it to Palm OS units running OS of 3.5 or greater, and perhaps you should restrict it to OS 4.1 or greater.
Roger Stringer Marietta Systems, Inc. (www.rf-tp.com)
-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
