In the Prolog code, I have two functions foo and foo1.
it is something like :
---------------------------------------------------
Prolog | C
---------------------------------------------------
foo ----- call ---- > foo1_wrapper normal
foo1 <-----call ----- foo1_wrapper normal
foo1 -------return---> foo1_wrapper normal
foo <-----return---- foo1_wrapper fail!
The problem is that, it can never return back to function foo after foo1_wrapper returns..
I have done several test(printf, write, valgrind and others...), and I am pretty sure that foo1 returns right value, and foo1_wrapper returns foo1's return value as well.
I am really confused right now, I should be able to look into the details, however, I just don't know which way to go...
Has anyone have certain problems like this...?
Best Regards,
Shuai