Re: How to interrupt a running evaluation in MathLink
- To: mathgroup at smc.vnet.net
- Subject: [mg16964] Re: How to interrupt a running evaluation in MathLink
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Thu, 8 Apr 1999 02:32:54 -0400
- Organization: Universitaet Leipzig
- References: <7e9olb$3ku@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Robert, on my SGI the abort with: MLPutMessage(link,MLAbortMessage); MLFlush(link); while(MLReady(link) && MLNextPacket(link)!=MENUPKT && MLError(link)==MLEOK) { MLNewPacket(link); } MLPutString(link,"a"); if(MLError(link)) fprinf(stderr,"%s\n",MLErrorMessage(link)); works fine. int CallMathArgc=3; char *CallMathArgv[]= {"-linkname", "/usr/local/bin/math -mathlink", "-linklaunch",NULL}; and env=MLInitialize(0); link=MLOpenArgv(env,CallMathArgv,CallMathArgv+CallMathArgc,&errno); are working on my unix box. Regards Jens RMille1 wrote: > > I'm using Mathlink in my C program to start a Mathlink kernel and send this > expression to be evaluated: > > N[ReplaceAll["Some expression",x->"some variable"]] > > Everything is working otay. However, occasionally an expression I send causes > the kernel to evaluate for longer than I would like it to. So what I want to do > is interrupt the evaluation and abort just as it would from a command line with > Ctr-C and abort, but through MathLink. Here's the snippet of code that will > call it: > > One other thing. I found the MathLink Tutorial by Todd Gayley to be the best > resource for learning how to use MathLink to start and run a Math kernel from > C. However, it seems a little dated. I'm using > > char *argv[5] = {"-linkname", > "c:\\progra~1\\wolfra~1\\mathem~1\\3.0\\math -mathlink", > "-linkmode", > "launch", > NULL}; > with MLOpen(), and that doesn't jive with the documentation in Mathematica 3.0 > > Is there a more up to date version available?