Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] vmthreads...
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-12-18 (01:28)
From: Jonathan Roewen <jonathan.roewen@g...>
Subject: Re: [Caml-list] vmthreads...
Let me show you the code that is causing the problems ;-) -- figured less painful
than pasting inline ;-)

Anyways, what happens is I create an instance of a functor that builds
a driver. When things don't lock up, it all runs fine. However, every
couple of runs, it easily locks up -- nothing responds.

Here's a dump of a sample session of my debugging statements:

isr_contents = %x
write: sent...
write: sent...
write: sent...
write: sent...
in ISR...
isr_contents = 4 (* => transmit_ok bit is set *)
tx queued packet (* 'may' does this if there is a packet queued *)
in ISR... (* we call ourselves again, because isr_contents <> 0 *)
isr_contents = 4 (* I guess another packet has been transmitted.. *)
tx queued packet
in ISR...
isr_contents = 0 (* so we can now return *)
in ISR..
isr_contents = 0
write: sent...
(* system completely locked up/dead *)