Page Fault

Tiago Jorge tjpj at lasige.di.fc.ul.pt
Wed Mar 16 17:36:51 CET 2005


>How is FailureDetector::failureDetector() called?
>
>  
>
ok... with your tip i've located the problem. the problem is that Java 
is to easy and gives us all the errors and stuff and c++ doesn't :):) 
(oh... and i'm dumb).

this is a member function... so to start a thread i use this function:

void helper_failure_detector(void *args){
  FailureDetector *fdobj = (FailureDetector *)args;
  fdobj->failureDetector();
}

and i start the thread like this (like in the example):

-->fdect = l4thread_create(helper_failure_detector, NULL, 
L4THREAD_CREATE_ASYNC);

but as the signature changes from the pthread syntax so i've screwed up. 
it should be:

-->fdect = l4thread_create(helper_failure_detector, (void *)this, 
L4THREAD_CREATE_ASYNC);

so he was doing:   NULL->failureDetector();... i don't know how he allow 
it but... divine intervention i think...

in conclusion... i'm dumb :)

thanks for all your patience and sorry...

Tiago





More information about the l4-hackers mailing list