That assert occurs when the underlying Linux "semop()" call to pend on a 
multi-process semaphore returns -1 (or failure).

In CE 2.00, we added multi-process support using Linux's System V semaphores 
which don't have a very nice cleanup policy if one of the processes 
owning/using the semaphore crashes.

If it's reproducible, can you run your app with the env var CE_DEBUG set to 3 
and send the [big] log file to this list?  Also, upon failure, can you run 
"ipcs -s" on a console and send the results?  This will report any "shared 
semaphores" that are in the system (perhaps leaked by a process that didn't 
clean up correctly).

Chris

________________________________
From: minhong [mailto:[EMAIL PROTECTED]
Sent: Friday, August 01, 2008 3:19 AM
To: Ring, Chris; davinci-linux-open-source
Subject: Re: Questions about codec engine

Thanks for the answer for question1.


For question2, I used CE 2.00.
If there're further details for the assert, it'll be appreciate.

I tried this and it never showed the assert:

In both video_thread and image_thread, I assume that the VISA APIs need a 
critical region
such that I did a mutex_lock before calling VISA APIs and mutex_unlock after 
that.
Do I have to do this critical region protection ?


minhong.
----- Original Message -----
From: Ring, Chris<mailto:[EMAIL PROTECTED]>
To: minhong<mailto:[EMAIL PROTECTED]> ; 
davinci-linux-open-source<mailto:[email protected]>
Sent: Thursday, July 31, 2008 9:06 PM
Subject: RE: Questions about codec engine

Multiple process support (which includes your multiple application use case) 
was added in Codec Engine 2.00.  Prior to that release, you're limited to a 
single process (multiple threads within that process is supported).

Also, when using multiple processes, if you're running remote algorithms on 
another processor (e.g. DM644x, DM6467), you must use LAD:
http://wiki.davincidsp.com/index.php?title=Link_Arbiter_Daemon

Given all that, on to your questions:
   1.  Yes, you can - and must(!) -  call CERuntime_init() from both processes.
   2.  Your use case should work; please confirm which version of CE you're 
using (must be > 2.00 as described above) if you want us to report further 
details about the assert you're seeing.

Chris


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to