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