[alsa-devel] [PATCH] Add no-mmu support for alsa-utils
Aaron Wu
aaron.wu at analog.com
Wed Dec 4 09:36:30 CET 2013
From: Aaron Wu <Aaron.wu at analog.com>
Signed-off-by: Aaron Wu <Aaron.wu at analog.com>
Add no-mmu support for alsa-utils mainly for Blackfin
---
alsactl/init_utils_run.c | 4 ++++
alsaloop/alsaloop.c | 8 ++++++++
configure.in | 1 +
3 files changed, 13 insertions(+)
diff --git a/alsactl/init_utils_run.c b/alsactl/init_utils_run.c
index dde490b..ac074e6 100644
--- a/alsactl/init_utils_run.c
+++ b/alsactl/init_utils_run.c
@@ -89,7 +89,11 @@ int run_program0(struct space *space,
argv[0] = program;
}
+ #ifdef HAVE_FORK
pid = fork();
+ #else
+ pid = vfork();
+ #endif
switch(pid) {
case 0:
/* child closes parent ends of pipes */
diff --git a/alsaloop/alsaloop.c b/alsaloop/alsaloop.c
index 3b20682..1b1e540 100644
--- a/alsaloop/alsaloop.c
+++ b/alsaloop/alsaloop.c
@@ -861,14 +861,22 @@ int main(int argc, char *argv[])
logit(LOG_CRIT, "daemon() failed: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}
+ #ifdef HAVE_FORK
i = fork();
+ #else
+ i = vfork();
+ #endif
if (i < 0) {
logit(LOG_CRIT, "fork() failed: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}
if (i > 0) {
/* wait(&i); */
+ #ifdef HAVE_FORK
exit(EXIT_SUCCESS);
+ #else
+ _exit(EXIT_SUCCESS);
+ #endif
}
}
diff --git a/configure.in b/configure.in
index 60da1fa..f289f9b 100644
--- a/configure.in
+++ b/configure.in
@@ -25,6 +25,7 @@ then
AC_MSG_RESULT($CC)
fi
+AC_CHECK_FUNC([fork])
AC_PROG_CC
dnl AC_PROG_CXX
AC_PROG_INSTALL
--
1.7.9.5
More information about the Alsa-devel
mailing list