Don't use fork() on noMMU platforms

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: alsa-lib-1.0.26/configure.in
===================================================================
--- alsa-lib-1.0.26.orig/configure.in	2012-09-06 10:55:14.000000000 +0200
+++ alsa-lib-1.0.26/configure.in	2013-03-09 16:22:08.000000000 +0100
@@ -66,6 +66,8 @@
 AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes])
 AC_CHECK_FUNCS([uselocale])
 
+AC_CHECK_FUNC([fork])
+
 SAVE_LIBRARY_VERSION
 AC_SUBST(LIBTOOL_VERSION_INFO)
 
Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c
===================================================================
--- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c	2012-09-06 10:55:14.000000000 +0200
+++ alsa-lib-1.0.26/src/pcm/pcm_direct.c	2013-03-09 16:22:51.000000000 +0100
@@ -424,13 +424,21 @@
 		close(dmix->server_fd);
 		return ret;
 	}
-	
+
+#ifdef HAVE_FORK
 	ret = fork();
+#else
+	ret = vfork();
+#endif
 	if (ret < 0) {
 		close(dmix->server_fd);
 		return ret;
 	} else if (ret == 0) {
+#ifdef HAVE_FORK
 		ret = fork();
+#else
+		ret = vfork();
+#endif
 		if (ret == 0)
 			server_job(dmix);
 		_exit(EXIT_SUCCESS);
