From 09e9ae58b6b463bea083eb5bb57665b87c08a66c Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Tue, 17 Jan 2012 10:05:02 -0200 Subject: [PATCH] modprobe: flush stdout before dumping indexes Index dump doesn't use stdio.h function and instead call write() directly on STDOUT_FILENO file descriptor. Therefore we need to flush stdio buffers before calling it, to be sure the configuration dump will appear before index's. --- libkmod/libkmod.c | 4 +++- tools/kmod-modprobe.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c index 800a1784..91fdf7b6 100644 --- a/libkmod/libkmod.c +++ b/libkmod/libkmod.c @@ -752,7 +752,9 @@ KMOD_EXPORT void kmod_unload_resources(struct kmod_ctx *ctx) * @type: index to dump * @fd: file descriptor to dump index to * - * Dump index to file descriptor + * Dump index to file descriptor. Note that this function doesn't use stdio.h + * so call fflush() before calling this function to be sure data is written in + * order. * * Returns: 0 on success or < 0 otherwise. */ diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c index 3e515066..9d612dda 100644 --- a/tools/kmod-modprobe.c +++ b/tools/kmod-modprobe.c @@ -247,6 +247,8 @@ static int show_config(struct kmod_ctx *ctx) kmod_config_iter_free_iter(iter); } + fflush(stdout); + kmod_dump_index(ctx, KMOD_INDEX_MODULES_ALIAS, STDOUT_FILENO); kmod_dump_index(ctx, KMOD_INDEX_MODULES_SYMBOL, STDOUT_FILENO); -- 2.47.2