fixing chibi.process for linux

This commit is contained in:
Alex Shinn 2011-04-04 10:24:17 -04:00
parent c75ad29100
commit e41b998f66
3 changed files with 9 additions and 6 deletions

3
eval.c
View file

@ -1660,6 +1660,9 @@ sexp sexp_load_standard_env (sexp ctx, sexp e, sexp version) {
#if SEXP_USE_DL
sexp_env_define(ctx, e, sym=sexp_intern(ctx, "*shared-object-extension*", -1),
tmp=sexp_c_string(ctx, sexp_so_extension, -1));
#endif
#if SEXP_BSD
sexp_push(ctx, tmp, sym=sexp_intern(ctx, "bsd", -1));
#endif
tmp = sexp_list1(ctx, sym=sexp_intern(ctx, sexp_platform, -1));
#if SEXP_USE_DL

View file

@ -17,7 +17,8 @@
(cond-expand (threads (import (srfi 18))) (else #f))
(include-shared "process")
(cond-expand
(unix
(bsd #f)
(else
(body
(define (process-command-line pid)
(call-with-current-continuation
@ -36,8 +37,7 @@
(if (or (eof-object? ch2) (eqv? (char->integer ch2) 0))
(reverse res)
(lp '() res)))
(lp (cons ch arg) res))))))))))))))
(else #f))
(lp (cons ch arg) res)))))))))))))))
(body
(define (process-running? pid . o)
(let ((cmdline (process-command-line pid)))

View file

@ -71,8 +71,8 @@
(define-c int (execute execvp) (string (array string)))
(cond-expand
(unix)
(else
(define-c sexp (process-command-line sexp_pid_cmdline) ((value ctx sexp) int))))
(bsd
(define-c sexp (process-command-line sexp_pid_cmdline) ((value ctx sexp) int)))
(else #f))
(c-init "sexp_init_signals(ctx, env);")