Semaphores macro error
Leon Pollak
leonp at plris.com
Wed Apr 11 16:28:26 UTC 2007
On Wednesday 11 April 2007, you wrote:
> You can try the ugly hack of commenting out lines or printing until you
> figure out what
> is blowing up. I have no other idea how to debug these scripts. That's
> how I did it when I wrote them.
Joel, I do not see any sense in the results I have. Please, can you help to
interpreter them?
I added prints as following (mine are with "=X=\n":
define rtems_helper_score_threadq
set $tq = $arg0
set $THREAD_QUEUE_DISCIPLINE_FIFO = 0
set $THREAD_QUEUE_DISCIPLINE_PRIORITY = 1
if $tq->discipline == $THREAD_QUEUE_DISCIPLINE_FIFO
printf " FIFO - "
set $limit = 1
end
if $tq->discipline == $THREAD_QUEUE_DISCIPLINE_PRIORITY
printf " PRIO - "
set $limit = 3
end
# now walk them
set $count = 0
set $pri_index = 0
set $queues = &$tq->Queues
printf "=2=\n"
while $pri_index < $limit
set $chain = &$queues.Priority[$pri_index]
set $ptail = &$chain->permanent_null
printf "=3=\n"
set $next = $chain->first
while $next != $ptail
printf "=4=\n"
set $t = (Thread_Control_struct *)$next
printf "0x%08x@%d ", $t->Object.id, $t->current_priority
set $next = $next->next
set $count = $count + 1
end
printf "=5=\n"
set $pri_index = $pri_index + 1
end
printf "=6=\n"
if $count == 0
printf "=7=\n"
printf "%s", "No waiting threads"
end
printf "=8=\n"
end
# Internal Helper Do Not Document
========================================================================
And the result was:
=====================================================================
# | Name | ID | Information
---+------+----------+-----------------------------------------------
1 | LBIO | 1a010001 | Mutex ###
INHT UNL=1=
PRIO - =2=
=3=
=5=
=3=
=5=
=3=
=5=
=6=
=7=
No memory available to program: call to malloc failed
I do not understand this.
--
Leon
More information about the users
mailing list