public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Chubb <peter@chubb.wattle.id.au>
To: linux-ia64@vger.kernel.org
Subject: Re: clone testcases in LTP
Date: Thu, 10 Jul 2003 23:22:42 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105787938313209@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105778639326638@msgid-missing>

>>>>> "David" = David Mosberger <davidm@napali.hpl.hp.com> writes:

>>>>> On Thu, 10 Jul 2003 11:18:38 -0500, Nathan Straz <nstraz@sgi.com> said:
>>> /* int __clone2(int (*fn) (void *arg), void *child_stack_base, */
>>> /* size_t child_stack_size, int flags, void *arg, */ /* pid_t
>>> *parent_tid, void *tls, pid_t *child_tid) */

I'm not finding that clone2() works -- We get a segfault in the cloned
process when it returns.

This is the program:

#include <stdio.h>
#include <sys/wait.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>

int func(void *arg) { 
    fprintf(stderr, "In child\n"); 
    return 0;
} 
 
int main(void) 
{ 
        int pagesize = sysconf(_SC_PAGESIZE); 
        char *stack;
	int status;
        pid_t kidpid; 
 
#define STACKSIZE (pagesize*8) 
        stack = valloc(STACKSIZE); 
        if ((kidpid = __clone2(func, stack, STACKSIZE, SIGCHLD, NULL,
		    NULL,  NULL, NULL)) = -1) 
                perror("clone"); 
        else { 
                waitpid(kidpid, &status, __WALL);
                if (status) 
                   fprintf(stderr, "child failed: status %x\n", 
				   status); 
	} 
        return 0; 
}

I see:

In child
child failed: status b

where b translates to segfault.

Peter c



  parent reply	other threads:[~2003-07-10 23:22 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-09 21:32 clone testcases in LTP Nathan Straz
2003-07-09 22:17 ` David Mosberger
2003-07-10 16:18 ` Nathan Straz
2003-07-10 16:25 ` David Mosberger
2003-07-10 23:22 ` Peter Chubb [this message]
2003-07-10 23:31 ` David Mosberger
2003-07-11  0:04 ` Peter Chubb
2003-07-11  0:35 ` Ian Wienand
2003-07-11  0:44 ` David Mosberger
2003-07-11  9:57 ` Andreas Schwab
2003-07-11 14:15 ` Nathan Straz
2003-07-11 18:49 ` Andreas Schwab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-linux-ia64-105787938313209@msgid-missing \
    --to=peter@chubb.wattle.id.au \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox