Re: Memory Semaphore timeout

2004-03-30 Thread Ben Combee
At 06:16 PM 3/30/2004, you wrote:
The Memory Manager semaphore has been held for longer than 1 minute.
PalmSource 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 receiving this message on emulator, but i don't know what it mean. Doen
anybody can explain me what is Semaphore Calls and what should i do to
stop receiving this alert?
This means that some system call you're making is keeping this semaphore 
too long.  This the the flag that turns on and off the memory protection to 
the storage heap.  Some call in your app is holding on to this too long -- 
perhaps memory is being reshuffled or there's a really long search 
routine.  I'm not sure.

-- Ben Combee, senior DTS engineer, PalmSource, Inc.
   Read Combee on Palm OS at http://palmos.combee.net/


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


Re: Memory Semaphore timeout

2004-03-30 Thread Régis Daniel de Oliveira

- Original Message -
From: Ben Combee [EMAIL PROTECTED]
Newsgroups: palm-dev-forum
To: Palm Developer Forum [EMAIL PROTECTED]
Sent: Tuesday, March 30, 2004 9:33 PM
Subject: Re: Memory Semaphore timeout


 At 06:16 PM 3/30/2004, you wrote:
 The Memory Manager semaphore has been held for longer than 1 minute.
 PalmSource 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 receiving this message on emulator, but i don't know what it mean. Doen
 anybody can explain me what is Semaphore Calls and what should i do to
 stop receiving this alert?

 This means that some system call you're making is keeping this semaphore
 too long.  This the the flag that turns on and off the memory protection
to
 the storage heap.  Some call in your app is holding on to this too long --
 perhaps memory is being reshuffled or there's a really long search
 routine.  I'm not sure.


 -- Ben Combee, senior DTS engineer, PalmSource, Inc.
 Read Combee on Palm OS at http://palmos.combee.net/




I was searching on the net and found that the functions that turn memory
protection on and off are MemSemaphoreReserve and MemSemaphoreRelease, but i
never used these into my app...

These message appear while i'm waiting data from the server using
NetLibReceive. Can NetLibReceive be problem?

Thanks!!!




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


Re: Memory Semaphore timeout

2004-03-30 Thread Régis Daniel de Oliveira

Ben Combee [EMAIL PROTECTED] escreveu na mensagem
news:[EMAIL PROTECTED]
 At 06:16 PM 3/30/2004, you wrote:
 The Memory Manager semaphore has been held for longer than 1 minute.
 PalmSource 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 receiving this message on emulator, but i don't know what it mean. Doen
 anybody can explain me what is Semaphore Calls and what should i do to
 stop receiving this alert?

 This means that some system call you're making is keeping this semaphore
 too long.  This the the flag that turns on and off the memory protection
to
 the storage heap.  Some call in your app is holding on to this too long --
 perhaps memory is being reshuffled or there's a really long search
 routine.  I'm not sure.


 -- Ben Combee, senior DTS engineer, PalmSource, Inc.
 Read Combee on Palm OS at http://palmos.combee.net/




I said that the error appeared when calling NetLibReceive, but i was wrong.
The message appear when i call DmDeleteDatabase(), to delete a large
database.
Is there any way to solve this?

Thanks!!!




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


Re: Memory Semaphore timeout

2004-03-30 Thread Ben Combee
At 04:01 PM 3/30/2004, you wrote:
I said that the error appeared when calling NetLibReceive, but i was wrong.
The message appear when i call DmDeleteDatabase(), to delete a large
database.
Is there any way to solve this?
You could pre-delete all the records in the database by calling 
DmRemoveRecord on each one.  However, in this case, the warning is 
erroneous -- it's the OS that's taking too long, not any code of yours.

-- Ben Combee, senior DTS engineer, PalmSource, Inc.
   Read Combee on Palm OS at http://palmos.combee.net/


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