diff options
author | Carlo Landmeter <clandmeter@gmail.com> | 2016-10-24 00:10:52 +0200 |
---|---|---|
committer | Carlo Landmeter <clandmeter@gmail.com> | 2016-10-24 00:10:59 +0200 |
commit | ea1e601d5000aa6e6ff8348c23bef5568703ebe0 (patch) | |
tree | 7806931fd681e6c580bb4b6159f4b4070e8aee87 /main/lvm2/fix-stdio-usage.patch | |
parent | 73433bea16dd3b9a119cf95a9a5d9dfe5eeb3950 (diff) | |
download | aports-ea1e601d5000aa6e6ff8348c23bef5568703ebe0.tar.bz2 aports-ea1e601d5000aa6e6ff8348c23bef5568703ebe0.tar.xz |
main/lvm2: upgrade to 2.02.166
Diffstat (limited to 'main/lvm2/fix-stdio-usage.patch')
-rw-r--r-- | main/lvm2/fix-stdio-usage.patch | 106 |
1 files changed, 22 insertions, 84 deletions
diff --git a/main/lvm2/fix-stdio-usage.patch b/main/lvm2/fix-stdio-usage.patch index 71fa5bfae1..39ba2e1b4e 100644 --- a/main/lvm2/fix-stdio-usage.patch +++ b/main/lvm2/fix-stdio-usage.patch @@ -1,87 +1,5 @@ ---- LVM2.2.02.103.orig/lib/commands/toolcontext.c -+++ LVM2.2.02.103/lib/commands/toolcontext.c -@@ -1336,7 +1336,10 @@ - /* - * Close and reopen stream on file descriptor fd. - */ --static int _reopen_stream(FILE *stream, int fd, const char *mode, const char *name, FILE **new_stream) -+#ifdef __GLIBC__ -+#define _reopen_stream(stream, fd, mode, name) __reopen_stream(stream, fd, mode, name, &stream) -+ -+static int __reopen_stream(FILE *stream, int fd, const char *mode, const char *name, FILE **new_stream) - { - int fd_copy, new_fd; - -@@ -1363,6 +1366,9 @@ - - return 1; - } -+#else -+#define _reopen_stream(stream, fd, mode, name) (freopen(NULL, mode, stream) != NULL) -+#endif - - /* Entry point */ - struct cmd_context *create_toolcontext(unsigned is_long_lived, -@@ -1371,7 +1377,6 @@ - unsigned threaded) - { - struct cmd_context *cmd; -- FILE *new_stream; - int flags; - - #ifdef M_MMAP_MAX -@@ -1421,9 +1426,8 @@ - if (is_valid_fd(STDIN_FILENO) && - ((flags = fcntl(STDIN_FILENO, F_GETFL)) > 0) && - (flags & O_ACCMODE) != O_WRONLY) { -- if (!_reopen_stream(stdin, STDIN_FILENO, "r", "stdin", &new_stream)) -+ if (!_reopen_stream(stdin, STDIN_FILENO, "r", "stdin")) - goto_out; -- stdin = new_stream; - if (setvbuf(stdin, cmd->linebuffer, _IOLBF, linebuffer_size)) { - log_sys_error("setvbuf", ""); - goto out; -@@ -1433,9 +1437,8 @@ - if (is_valid_fd(STDOUT_FILENO) && - ((flags = fcntl(STDOUT_FILENO, F_GETFL)) > 0) && - (flags & O_ACCMODE) != O_RDONLY) { -- if (!_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout", &new_stream)) -+ if (!_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout")) - goto_out; -- stdout = new_stream; - if (setvbuf(stdout, cmd->linebuffer + linebuffer_size, - _IOLBF, linebuffer_size)) { - log_sys_error("setvbuf", ""); -@@ -1715,7 +1718,6 @@ - void destroy_toolcontext(struct cmd_context *cmd) - { - struct dm_config_tree *cft_cmdline; -- FILE *new_stream; - int flags; - - if (cmd->dump_filter && cmd->filter && cmd->filter->dump && -@@ -1752,8 +1754,7 @@ - if (is_valid_fd(STDIN_FILENO) && - ((flags = fcntl(STDIN_FILENO, F_GETFL)) > 0) && - (flags & O_ACCMODE) != O_WRONLY) { -- if (_reopen_stream(stdin, STDIN_FILENO, "r", "stdin", &new_stream)) { -- stdin = new_stream; -+ if (_reopen_stream(stdin, STDIN_FILENO, "r", "stdin")) { - setlinebuf(stdin); - } else - cmd->linebuffer = NULL; /* Leave buffer in place (deliberate leak) */ -@@ -1762,8 +1763,7 @@ - if (is_valid_fd(STDOUT_FILENO) && - ((flags = fcntl(STDOUT_FILENO, F_GETFL)) > 0) && - (flags & O_ACCMODE) != O_RDONLY) { -- if (_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout", &new_stream)) { -- stdout = new_stream; -+ if (_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout")) { - setlinebuf(stdout); - } else - cmd->linebuffer = NULL; /* Leave buffer in place (deliberate leak) */ ---- LVM2.2.02.103.orig/tools/lvmcmdline.c -+++ LVM2.2.02.103/tools/lvmcmdline.c +--- ./tools/lvmcmdline.c ++++ ./tools/lvmcmdline.c @@ -1252,7 +1252,7 @@ int err = is_valid_fd(STDERR_FILENO); @@ -109,3 +27,23 @@ printf("stderr stream open: %s\n", strerror(errno)); return 0; +--- ./lib/commands/toolcontext.c.orig ++++ ./lib/commands/toolcontext.c +@@ -1860,7 +1860,7 @@ + /* FIXME Make this configurable? */ + reset_lvm_errno(1); + +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + /* Set in/out stream buffering before glibc */ + if (set_buffering) { + /* Allocate 2 buffers */ +@@ -2241,7 +2241,7 @@ + if (cmd->libmem) + dm_pool_destroy(cmd->libmem); + +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + if (cmd->linebuffer) { + /* Reset stream buffering to defaults */ + if (is_valid_fd(STDIN_FILENO) && |