0002-no-mmu.patch 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. Don't use fork() on noMMU platforms
  2. [Gustavo: update patch for 1.0.28]
  3. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  4. Index: alsa-lib-1.0.26/configure.ac
  5. ===================================================================
  6. --- alsa-lib-1.0.26.orig/configure.ac 2012-09-06 10:55:14.000000000 +0200
  7. +++ alsa-lib-1.0.26/configure.ac 2013-03-09 16:22:08.000000000 +0100
  8. @@ -66,6 +66,8 @@
  9. AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes])
  10. AC_CHECK_FUNCS([uselocale])
  11. +AC_CHECK_FUNC([fork])
  12. +
  13. SAVE_LIBRARY_VERSION
  14. AC_SUBST(LIBTOOL_VERSION_INFO)
  15. Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c
  16. ===================================================================
  17. --- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200
  18. +++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100
  19. @@ -424,13 +424,21 @@
  20. close(dmix->server_fd);
  21. return ret;
  22. }
  23. -
  24. +
  25. +#ifdef HAVE_FORK
  26. ret = fork();
  27. +#else
  28. + ret = vfork();
  29. +#endif
  30. if (ret < 0) {
  31. close(dmix->server_fd);
  32. return ret;
  33. } else if (ret == 0) {
  34. +#ifdef HAVE_FORK
  35. ret = fork();
  36. +#else
  37. + ret = vfork();
  38. +#endif
  39. if (ret == 0)
  40. server_job(dmix);
  41. _exit(EXIT_SUCCESS);