#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
#include "tap.h"
static char *todo_msg_fixed = "libtap malloc issue";
static int todo = 0;
static int test_died = 0;
+static int test_pid;
/* Encapsulate the pthread code in a conditional. In the absence of
libpthread the code does nothing */
static void
_cleanup(void)
{
+ /* If we forked, don't do cleanup in child! */
+ if (getpid() != test_pid)
+ return;
LOCK;
static int run_once = 0;
if(!run_once) {
+ test_pid = getpid();
atexit(_cleanup);
/* stdout needs to be unbuffered so that the output appears