File: fork.c

package info (click to toggle)
mlton 20100608-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 34,980 kB
  • ctags: 69,089
  • sloc: ansic: 18,421; lisp: 2,879; makefile: 1,570; sh: 1,325; pascal: 256; asm: 97
file content (17 lines) | stat: -rw-r--r-- 385 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "platform.h"

extern struct GC_state gcState;

C_Errno_t(C_PId_t) Posix_Process_fork (void) {
  pid_t pid = fork ();
#if (defined (__Darwin__))
  /* Contrary to the documentation, a forked process does not inherit
   * the alternate signal stack; re-install the alternate signal
   * stack.
   */
  if (pid == 0) {
    GC_initSignalStack(&gcState);
  }
#endif
  return pid;
}