Getting a segmentation fault when starting/stopping the RTS, from C, several times.

Hi experts,
Should I expect the following C code to run to completion, or am I trying
to do something that was never intended?
Thanks,
-db
C code:
1 #include

On Tue, Jul 10, 2012 at 10:55 PM, Captain Freako
Hi experts,
Should I expect the following C code to run to completion, or am I trying to do something that was never intended?
Quoth the Fine Manual (8.2.1.1. Using your own main()http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html#using-o... ): There can be multiple calls to hs_init(), but each one should be matched by one (and only one) call to hs_exit()[14http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html#ftn.id7... ]. So this should theoretically work. -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

On 12-07-10 11:35 PM, Brandon Allbery wrote:
Quoth the Fine Manual (8.2.1.1. Using your own main() http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html#using-o...):
There can be multiple calls to |hs_init()|, but each one should be matched by one (and only one) call to |hs_exit()|^[14 http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html#ftn.id7...] .
So this should theoretically work.
Except that [14] says: the outermost hs_exit() de-initialises, and afterwards, cannot reliably re-initialise in current implementations. So the currently working use-case is just: Prog ::= nop | hs_init(); Prog; hs_exit()

Em 15/07/2012 18:38, "Albert Y. C. Lai"
On 12-07-10 11:35 PM, Brandon Allbery wrote:
Quoth the Fine Manual (8.2.1.1. Using your own main() <
http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html#using-o...
):
There can be multiple calls to |hs_init()|, but each one should be matched by one (and only one) call to |hs_exit()|^[14 <
http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html#ftn.id7... ]
.
So this should theoretically work.
Except that [14] says: the outermost hs_exit() de-initialises, and afterwards, cannot reliably re-initialise in current implementations.
So the currently working use-case is just: Prog ::= nop | hs_init(); Prog; hs_exit()
Would that be: Prog ::= nop | hs_init(); Prog'; hs_exit(); Prog' ::= nop | hs_init(); Prog'; hs_exit(); | Prog' Prog' Cheers, -- Felipe – enviado do meu Galaxy Tab.
participants (4)
-
Albert Y. C. Lai
-
Brandon Allbery
-
Captain Freako
-
Felipe Almeida Lessa