You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5 KiB

  1. --- a/lib/commands/toolcontext.c
  2. +++ b/lib/commands/toolcontext.c
  3. @@ -1785,8 +1785,10 @@ struct cmd_context *create_toolcontext(u
  4. unsigned set_filters)
  5. {
  6. struct cmd_context *cmd;
  7. +#if defined(__GLIBC__) && !defined(VALGRIND_POOL)
  8. FILE *new_stream;
  9. int flags;
  10. +#endif
  11. #ifdef M_MMAP_MAX
  12. mallopt(M_MMAP_MAX, 0);
  13. @@ -1822,7 +1824,7 @@ struct cmd_context *create_toolcontext(u
  14. /* FIXME Make this configurable? */
  15. reset_lvm_errno(1);
  16. -#ifndef VALGRIND_POOL
  17. +#if defined(__GLIBC__) && !defined(VALGRIND_POOL)
  18. /* Set in/out stream buffering before glibc */
  19. if (set_buffering) {
  20. /* Allocate 2 buffers */
  21. @@ -2205,7 +2207,7 @@ void destroy_toolcontext(struct cmd_cont
  22. if (cmd->libmem)
  23. dm_pool_destroy(cmd->libmem);
  24. -#ifndef VALGRIND_POOL
  25. +#if defined(__GLIBC__) && !defined(VALGRIND_POOL)
  26. if (cmd->linebuffer) {
  27. /* Reset stream buffering to defaults */
  28. if (is_valid_fd(STDIN_FILENO) &&
  29. --- a/tools/lvmcmdline.c
  30. +++ b/tools/lvmcmdline.c
  31. @@ -1782,6 +1782,7 @@ int lvm_split(char *str, int *argc, char
  32. /* Make sure we have always valid filedescriptors 0,1,2 */
  33. static int _check_standard_fds(void)
  34. {
  35. +#ifdef __GLIBC__
  36. int err = is_valid_fd(STDERR_FILENO);
  37. if (!is_valid_fd(STDIN_FILENO) &&
  38. @@ -1808,6 +1809,12 @@ static int _check_standard_fds(void)
  39. strerror(errno));
  40. return 0;
  41. }
  42. +#else
  43. + if (!is_valid_fd(STDERR_FILENO) ||
  44. + !is_valid_fd(STDOUT_FILENO) ||
  45. + !is_valid_fd(STDIN_FILENO))
  46. + return 0;
  47. +#endif
  48. return 1;
  49. }