Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
asdf
asdf
Commits
242b5506
Commit
242b5506
authored
Aug 27, 2016
by
Elias Pipping
Browse files
Bug fix: Return non-zero after signal on LispWorks
parent
92e56247
Changes
1
Hide whitespace changes
Inline
Side-by-side
uiop/run-program.lisp
View file @
242b5506
...
...
@@ -547,7 +547,7 @@ It returns a process-info object."
(
when
process
(
prop
'process
process
)))
#+
lispworks
(
if
wait
(
prop
'exit-code
(
first
process*
))
(
prop
'exit-code
(
or
(
second
process*
)
(
first
process*
))
)
(
let
((
mode
(
+
(
if
(
eq
input
:stream
)
1
0
)
(
if
(
eq
output
:stream
)
2
0
))))
(
if
(
or
(
plusp
mode
)
(
eq
error-output
:stream
))
(
destructuring-bind
(
io
err
pid
)
process*
...
...
@@ -598,9 +598,13 @@ It returns a process-info object."
#+
clozure
(
nth-value
1
(
ccl:external-process-status
process
))
#+
(
or
cmucl
scl
)
(
ext:process-exit-code
process
)
#+
(
or
clasp
ecl
)
(
nth-value
1
(
ext:external-process-wait
process
t
))
#+
lispworks
(
funcall
#+
lispworks7+
#'
sys:pipe-exit-status
#-
lispworks7+
#'
sys:pid-exit-status
process
:wait
t
)
#+
lispworks
;; a signal is only returned on LispWorks 7+
(
multiple-value-bind
(
exit-code
signal
)
(
funcall
#+
lispworks7+
#'
sys:pipe-exit-status
#-
lispworks7+
#'
sys:pid-exit-status
process
:wait
t
)
(
or
signal
exit-code
))
#+
mkcl
(
mkcl:join-process
process
)
#+
sbcl
(
sb-ext:process-exit-code
process
)))
(
setf
(
slot-value
process-info
'exit-code
)
exit-code
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment