| Don't use fork() on noMMU platforms |
| |
| [Gustavo: update patch for 1.0.28] |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| |
| Index: alsa-lib-1.0.26/configure.ac |
| =================================================================== |
| --- alsa-lib-1.0.26.orig/configure.ac 2012-09-06 10:55:14.000000000 +0200 |
| +++ alsa-lib-1.0.26/configure.ac 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); |