Subject: SDL-News: Problems with exported procedure used in a package
From: Frend Patrick-BPF005 (BPF005#motorola.com)
Date: Fri Jul 23 2004 - 13:04:47 GMT
I have a package with some procedures. One of which (P_proc) calls an exported procedure (E_proc).
The package that contains the P_proc, doesn't know which task implements E_proc.
It now turns out that the task that exports E_proc (E_task) needs to call P_proc, but using a path through P_proc that doesn't use E_proc.
However, it it DOES actually call E_proc then we have a problem as the task becomes deadlocked.
The RPC from P_proc to E_proc sends a signal to E_task to stimulate E_proc, and then waits for the return signal from E_task. However, since it's sending the signal to its self, it never executes E_Proc because it's waiting on the return from E_proc.
The E_proc_call signal get's sent to it'self but not consumed, and the process is the blocked in a state waiting for E_proc_reply.
We are using Tau4.3
Is there any way of making P_proc aware that it's about to do a RPC to itself, without it knowing where E_proc is exported from.
This also needs to work in simulator mode and on the target with a tight integration.
Any help would be appreciated.
This archive was generated by hypermail 2a23 : Thu May 09 2013 - 16:05:50 GMT