diff options
author | Jeremy Fitzhardinge <jeremy@xensource.com> | 2007-07-17 21:37:03 -0400 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy@goop.org> | 2007-07-18 11:47:40 -0400 |
commit | 86313c488a6848b7ec2ba04e74f25f79dd32a0b7 (patch) | |
tree | 3b190f7afc338362470573b563f65a1eb83795ac /include/linux/kmod.h | |
parent | 10a0a8d4e3f6bf2d077f94344441909abe670f5a (diff) |
usermodehelper: Tidy up waiting
Rather than using a tri-state integer for the wait flag in
call_usermodehelper_exec, define a proper enum, and use that. I've
preserved the integer values so that any callers I've missed should
still work OK.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Andi Kleen <ak@suse.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Joel Becker <joel.becker@oracle.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/linux/kmod.h')
-rw-r--r-- | include/linux/kmod.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/kmod.h b/include/linux/kmod.h index c4cbe59d9c67..5dc13848891b 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h | |||
@@ -51,15 +51,21 @@ int call_usermodehelper_stdinpipe(struct subprocess_info *sub_info, | |||
51 | void call_usermodehelper_setcleanup(struct subprocess_info *info, | 51 | void call_usermodehelper_setcleanup(struct subprocess_info *info, |
52 | void (*cleanup)(char **argv, char **envp)); | 52 | void (*cleanup)(char **argv, char **envp)); |
53 | 53 | ||
54 | enum umh_wait { | ||
55 | UMH_NO_WAIT = -1, /* don't wait at all */ | ||
56 | UMH_WAIT_EXEC = 0, /* wait for the exec, but not the process */ | ||
57 | UMH_WAIT_PROC = 1, /* wait for the process to complete */ | ||
58 | }; | ||
59 | |||
54 | /* Actually execute the sub-process */ | 60 | /* Actually execute the sub-process */ |
55 | int call_usermodehelper_exec(struct subprocess_info *info, int wait); | 61 | int call_usermodehelper_exec(struct subprocess_info *info, enum umh_wait wait); |
56 | 62 | ||
57 | /* Free the subprocess_info. This is only needed if you're not going | 63 | /* Free the subprocess_info. This is only needed if you're not going |
58 | to call call_usermodehelper_exec */ | 64 | to call call_usermodehelper_exec */ |
59 | void call_usermodehelper_freeinfo(struct subprocess_info *info); | 65 | void call_usermodehelper_freeinfo(struct subprocess_info *info); |
60 | 66 | ||
61 | static inline int | 67 | static inline int |
62 | call_usermodehelper(char *path, char **argv, char **envp, int wait) | 68 | call_usermodehelper(char *path, char **argv, char **envp, enum umh_wait wait) |
63 | { | 69 | { |
64 | struct subprocess_info *info; | 70 | struct subprocess_info *info; |
65 | 71 | ||
@@ -71,7 +77,7 @@ call_usermodehelper(char *path, char **argv, char **envp, int wait) | |||
71 | 77 | ||
72 | static inline int | 78 | static inline int |
73 | call_usermodehelper_keys(char *path, char **argv, char **envp, | 79 | call_usermodehelper_keys(char *path, char **argv, char **envp, |
74 | struct key *session_keyring, int wait) | 80 | struct key *session_keyring, enum umh_wait wait) |
75 | { | 81 | { |
76 | struct subprocess_info *info; | 82 | struct subprocess_info *info; |
77 | 83 | ||