diff options
author | NeilBrown <neilb@suse.de> | 2008-11-07 04:46:30 +0100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2008-11-07 04:46:30 +0100 |
commit | 97f734fde22e64affd46c957d9184e536bcc1026 (patch) | |
tree | cc0066d4088c9467c42464eee2796e123b8e834b /mdmon.c | |
parent | Release 3.0-devel2 (diff) | |
download | mdadm-97f734fde22e64affd46c957d9184e536bcc1026.tar.xz mdadm-97f734fde22e64affd46c957d9184e536bcc1026.zip |
A couple of bugfixes found by suse autobuilding:
1/ ia64 appear to have __clone2, not clone.
2/ Including "++" in the arg to a macro is a bad thing to do.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mdmon.c')
-rw-r--r-- | mdmon.c | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -79,13 +79,25 @@ int run_child(void *v) return 0; } -int clone_monitor(struct supertype *container) +#ifdef __ia64__ +int __clone2(int (*fn)(void *), + void *child_stack_base, size_t stack_size, + int flags, void *arg, ... + /* pid_t *pid, struct user_desc *tls, pid_t *ctid */ ); +#endif + int clone_monitor(struct supertype *container) { static char stack[4096]; +#ifdef __ia64__ + mon_tid = __clone2(run_child, stack, sizeof(stack), + CLONE_FS|CLONE_FILES|CLONE_VM|CLONE_SIGHAND|CLONE_THREAD, + container); +#else mon_tid = clone(run_child, stack+4096-64, CLONE_FS|CLONE_FILES|CLONE_VM|CLONE_SIGHAND|CLONE_THREAD, container); +#endif mgr_tid = syscall(SYS_gettid); |