[cffi-devel] Using the exec() family of functions
Stelian Ionescu
stelian.ionescu-zeus at poste.it
Mon Mar 30 13:00:21 UTC 2009
On Sun, 2009-03-29 at 12:11 +0200, Leslie P. Polzer wrote:
> Hi,
>
> I have tried to use execv() from glibc in SBCL, but it's either
> not compatible with SBCL for some reason or I'm not calling it
> correctly.
>
> Perhaps one of you guys can spot mistakes here:
you haven't read its man page carefully
> CL-USER(2): (use-package :cffi)
>
> T
> CL-USER(3): (define-foreign-library libc (:unix "libc.so.6"))
>
> LIBC
> CL-USER(4): (use-foreign-library libc)
>
> #<CFFI::FOREIGN-LIBRARY {B277599}>
> CL-USER(7): (defcfun "execv" :int (path :string) (args :pointer))
>
> EXECV
> CL-USER(14): (execv "/bin/chmod" (null-pointer))
> zsh: segmentation fault rlwrap sbcl
(defcfun (%execv "execv") :int (path :string) (args :pointer))
(defun execv/0 (binary)
(check-type binary string)
(with-foreign-string (cstring binary)
(with-foreign-object (v :pointer 2)
(setf (mem-aref v :pointer 0) cstring)
(setf (mem-aref v :pointer 1) (null-pointer))
(%execv binary v))))
--
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20090330/c9c32fc6/attachment.sig>
More information about the cffi-devel
mailing list