[Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build

Peter Korsgaard jacmet at uclibc.org
Sat Mar 9 20:15:33 UTC 2013


>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at free-electrons.com> writes:

 Thomas> Add a patch to use vfork() instead of fork().
 Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
 Thomas> ---
 Thomas>  package/alsa-lib/alsa-lib-no-mmu.patch |   44 ++++++++++++++++++++++++++++++++
 Thomas>  package/alsa-lib/alsa-lib.mk           |    1 +
 Thomas>  2 files changed, 45 insertions(+)
 Thomas>  create mode 100644 package/alsa-lib/alsa-lib-no-mmu.patch

 Thomas> diff --git a/package/alsa-lib/alsa-lib-no-mmu.patch b/package/alsa-lib/alsa-lib-no-mmu.patch
 Thomas> new file mode 100644
 Thomas> index 0000000..317676a
 Thomas> --- /dev/null
 Thomas> +++ b/package/alsa-lib/alsa-lib-no-mmu.patch
 Thomas> @@ -0,0 +1,44 @@
 Thomas> +Don't use fork() on noMMU platforms
 Thomas> +
 Thomas> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
 Thomas> +
 Thomas> +Index: alsa-lib-1.0.26/configure.in
 Thomas> +===================================================================
 Thomas> +--- alsa-lib-1.0.26.orig/configure.in	2012-09-06 10:55:14.000000000 +0200
 Thomas> ++++ alsa-lib-1.0.26/configure.in	2013-03-09 16:22:08.000000000 +0100
 Thomas> +@@ -66,6 +66,8 @@
 Thomas> + AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes])
 Thomas> + AC_CHECK_FUNCS([uselocale])
 Thomas> + 
 Thomas> ++AC_CHECK_FUNC([fork])
 Thomas> ++
 Thomas> + SAVE_LIBRARY_VERSION
 Thomas> + AC_SUBST(LIBTOOL_VERSION_INFO)
 Thomas> + 
 Thomas> +Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c
 Thomas> +===================================================================
 Thomas> +--- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c	2012-09-06 10:55:14.000000000 +0200
 Thomas> ++++ alsa-lib-1.0.26/src/pcm/pcm_direct.c	2013-03-09 16:22:51.000000000 +0100
 Thomas> +@@ -424,13 +424,21 @@
 Thomas> + 		close(dmix->server_fd);
 Thomas> + 		return ret;
 Thomas> + 	}
 Thomas> +-	
 Thomas> ++
 Thomas> ++#ifdef HAVE_FORK
 Thomas> + 	ret = fork();
 Thomas> ++#else
 Thomas> ++	ret = vfork();

Are you sending this upstream? What's the reason for the HAVE_FORK
check? Why not just always use vfork() instead? That should work fine on
mmu as well (and be a tiny bit faster).

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list