Ask a Question related to UNIX Programming, Design and Development.

  1. #1

    Default Re: WIFEXITED()

    In article <Xns93BCA7757547whitesuneapollolv@130.133.1.4>,
    Peteris Krumins <pkruminsREMOVETHIS@inbox.lv> wrote:
    >int main(void) {
    > int child, cs;
    >
    > child = fork();
    > switch(child) {
    > case -1:
    > printf("fork() failed\n");
    > exit(EXIT_FAILURE);
    > case 0:
    > /* child */
    > exit(EXIT_FAILURE);
    > default:
    > wait(&cs);
    > if (WIFEXITED(cs))
    > printf("child did exit normally\n");
    > else
    > printf("child did NOT exit normally\n");
    > }
    >}
    >--
    >output:
    >child did exit normally
    >--
    >
    >How is this possible?
    Exited normally means that it called the exit() function (actually, the
    _exit() system call), rather than being terminated by a signal. It doesn't
    mean that the exit code was 0; you can check that separately.

    --
    Barry Margolin, [email]barry.margolin@level3.com[/email]
    Level(3), Woburn, MA
    *** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
    Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
    Barry Margolin Guest

  2. #2

    Default Re: WIFEXITED()

    Barry Margolin <barry.margolin@level3.com> wrote in
    news:M6FRa.257$0z4.180@news.level3.com:

    [...]
    >
    > Exited normally means that it called the exit() function (actually,
    > the _exit() system call), rather than being terminated by a signal.
    > It doesn't mean that the exit code was 0; you can check that
    > separately.
    >
    Thanks again!


    P.Krumins
    Peteris Krumins Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139