On Fri, 2007-02-09 at 21:35 +0200, Maksym Veremeyenko wrote:
> Hi!
> 
> I found dead lock in my program and looking for reason, but i found 
> something strange. Is possible mutex state looks like:
> [EMAIL PROTECTED] /]# cat /proc/xenomai/registry/native/mutexes/coll_VDCP_1
> =locked by bus_monitor_proc[0] depth=1
> +vdcp[0030]m
> +bus_monitor_proc[0]

This state is bugous.

> 
> seems bus_monitor_proc[0] locked mutex and want to lock again but its 
> blocked.  (i still looking for stack corruption point, but no success.) 
> It have the same behavior on two configuration 2.6.17.4 + 2.2.4 and 
> 2.6.19.2 + 2.3.0 + 1.7-01
> i checked with GDB - two task are wating for mutex.
> All task perform switching to secondary mode.

Could you strip your code to a bare minimum that still exhibits this bug
and post it here ? TIA,

> 
> 
> Also have a questions:
> 
> 1. On program start after previous crash i unable to create named mutex, 
> because it [-EEXIST], after bind it's unable to operate with it because 
> it locked by task from early died program, i have to restart computer. 
> Any suggestions?

Something like this would do:

if (rt_mutex_bind("...", &desc) == 0)
        rt_mutex_delete(&desc);

rt_mutex_create("...", &desc);

> 
> 2. Does exist API function to detect mutex owner?
> 

No, albeit rt_mutex_inquire() could be extended to return this info.

> 
> 
-- 
Philippe.



_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to