summaryrefslogtreecommitdiff
path: root/apps/interpreters
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-11-06 10:06:25 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-11-06 10:06:25 -0600
commitaee5c2ea84efdafc7c568b64265375c5d7154df4 (patch)
treed0427016578fd4174a83f87158fec04b9ee0c391 /apps/interpreters
parent1e2c21de678de30bde7d61405a4bd537ef7269c3 (diff)
downloadnuttx-aee5c2ea84efdafc7c568b64265375c5d7154df4.tar.gz
nuttx-aee5c2ea84efdafc7c568b64265375c5d7154df4.tar.bz2
nuttx-aee5c2ea84efdafc7c568b64265375c5d7154df4.zip
BAS: Use waitpid() instead of wait() which is not supprted by NuttX
Diffstat (limited to 'apps/interpreters')
-rw-r--r--apps/interpreters/bas/statement.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/apps/interpreters/bas/statement.c b/apps/interpreters/bas/statement.c
index 9fe45126f..eceaad8ca 100644
--- a/apps/interpreters/bas/statement.c
+++ b/apps/interpreters/bas/statement.c
@@ -1074,6 +1074,7 @@ struct Value *stmt_EDIT(struct Value *value)
#ifdef CONFIG_ARCH_HAVE_VFORK
long int line;
struct Pc statementpc = pc;
+ int status;
++pc.token;
if (pc.token->type == T_INTEGER)
@@ -1236,9 +1237,9 @@ struct Value *stmt_EDIT(struct Value *value)
default:
{
- pid_t r;
+ /* Wait for the editor to complete */
- while ((r = wait((int *)0)) != -1 && r != pid);
+ while (waitpid((pid, &status, 0) < 0 && errno != EINTR);
}
}
@@ -5721,7 +5722,9 @@ struct Value *stmt_SHELL(struct Value *value)
default:
{
- while (waitpid(pid, &status, 0) == -1 && errno != EINTR);
+ /* Wait for the shell to complete */
+
+ while (waitpid(pid, &status, 0) < 0 && errno != EINTR);
}
}
@@ -5766,7 +5769,9 @@ struct Value *stmt_SHELL(struct Value *value)
default:
{
- while (waitpid(pid, &status, 0) == -1 && errno != EINTR);
+ /* Wait for the shell to complete */
+
+ while (waitpid(pid, &status, 0) < 0 && errno != EINTR);
}
}