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