Hi experts,<div><br></div><div>Should I expect the following C code to run to completion, or am I trying to do something that was never intended?</div><div><br></div><div>Thanks,</div><div>-db</div><div><br></div><div>C code:</div>
<div><br></div><div><div>  1 #include &lt;stdio.h&gt;</div><div>  2 #include &lt;stdlib.h&gt;</div><div>  3 #include &quot;HsFFI.h&quot;</div><div>  4 </div><div>  5 int main()</div><div>  6 {</div><div>  7     int argc = 1, i;</div>
<div>  8     char* argv[] = {&quot;ghcDll&quot;, NULL}; // argv must end with NULL</div><div>  9     char** args = argv;</div><div> 10 </div><div> 11     for(i=0; i&lt;10; i++) {</div><div> 12         fprintf(stderr, &quot;Starting up the RTS...\n&quot;);</div>
<div> 13         hs_init(&amp;argc, &amp;args);</div><div> 14         printf(&quot;Shutting down the RTS...\n&quot;);</div><div> 15         hs_exit();</div><div> 16     }</div><div> 17 }</div></div><div><br></div><div>This is what I get, when I compile and run it:</div>
<div><br></div><div><div>dbanas@dbanas-eeepc:~/prj/haskell/amitool$ make test_rts</div><div>rm -f test_rts</div><div>ghc -o test_rts -lHSrts -lm -lffi -lrt test_rts.o</div><div>dbanas@dbanas-eeepc:~/prj/haskell/amitool$ ./test_rts </div>
<div>Starting up the RTS...</div><div>Shutting down the RTS...</div><div>Starting up the RTS...</div><div>Shutting down the RTS...</div><div>Segmentation fault</div></div><div><br></div>