Karsten Poeck wrote:
Unfortunately the cygwin version now breaks with WARNING: DEFUN/DEFMACRO: redefining function GETPID in [...] *** - FFI::LOOKUP-FOREIGN-FUNCTION: A foreign function "getpid" does not exist
It appears that the code in CVS provides a different implementation of getpid than what I sent to the slime list a few weeks ago. I don't know why there was a change. I saw no mention of a problem in this mailing list since. The current CVS is broken in some aspects (portability, FFI declaration, missing interface). Did my code break something?
Karsten, could you please remove the def-call-out for both unix and win32 in swank-clisp.lisp and uncomment the #+(or) form below it, and report your findings?
I think that my own code, in a win32-clisp (not cygwin) 2.33.1 or older, without the WIN32 package, will define getpid to the constant -1. If this causes a problem, please tell me and I can change that. Possibly processes will not be interruptible. clisp >2.33.2 should work. I appreciate it when new code still works with old versions of other programs.
Regards, Jorg Hohle.
"Hoehle, Joerg-Cyril" Joerg-Cyril.Hoehle@t-systems.com writes:
It appears that the code in CVS provides a different implementation of getpid than what I sent to the slime list a few weeks ago. I don't know why there was a change. I saw no mention of a problem in this mailing list since. The current CVS is broken in some aspects (portability, FFI declaration, missing interface). Did my code break something?
The CLISP/Win32 returned -1.
I think that my own code, in a win32-clisp (not cygwin) 2.33.1 or older, without the WIN32 package, will define getpid to the constant -1. If this causes a problem, please tell me and I can change that. Possibly processes will not be interruptible. clisp >2.33.2 should work. I appreciate it when new code still works with old versions of other programs.
Well, the idea behind getpid is that Emacs can send a SIGINT to that process to interrupt it. That ideas does apparently not work so well on Windows but it certainly will not work if getpid returns -1.
I guess SIGINT is not the Windows way and something else should be used instead.
Helmut.