Bill Allombert on Sat, 16 Sep 2006 11:32:32 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: PARI_stack_limit |
On Thu, Sep 14, 2006 at 06:17:00PM +0200, Bernard Parisse wrote: > Hi, > > > First a question: > > Are you running pari_init outside the thread and flisexpr in the thread > > ? This is not really supported, though it would be nice if it worked. > > > > Yes, pari_init is run once during static initialization, and flisexpr > is run each time the user run a pari command inside Xcas, and > each command is run in a separate thread. But you run exactly one thread at once ? Could you write a stand-alone test case ? It would help. > > How can we improve PARI there ? We could: > > 1) Allow user to disable PARI_stack_limit check > > 2) Allow user to reset the stack limit for the new thread. > > 3) Simply move PARI_stack_limit to paripub.h > > > > Something else ? > > > > 3) would suffice for Xcas. I have no idea how you could implement > something really thread-safe if you don't pass some context information > and that would probably require (too) many changes. Well being thread-safe is another issue (See Configure --enable-tls). It seems to me that we could make the function pari_init_stackcheck public, and require you call it a the start of each threads. We should also provide an init_opts flag to deactivate it. Cheers, Bill