English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

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 ;-)

http://rafb.net/paste/results/bk9vcK29.html -- 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 *)