#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

int count = 0;
mach_port_t pp;

void
do_nothing (void *ignored)
{
  ++ count;
  pp = mach_thread_self ();
}

void
main (int argn, char ** argv)
{
  int ret;
  pthread_t tid = 0;
  pthread_attr_t attr;

  printf ("A: %d\n", count);
  printf ("Type in value:\n");
  scanf ("%d", &ret);

  pthread_attr_init (&attr);
  pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
  
  int err = pthread_create (&tid, &attr, do_nothing, NULL);
  if (err) {
    printf ("error A: [%d] [%s]\n", err, strerror (err));
  }
  printf ("B: %d\n", count);
  printf ("Type in value:\n");
  scanf ("%d", &ret);

  count = 0;
  mach_port_deallocate (mach_task_self (), pp);

  printf ("C: %d\n", count);
  printf ("Type in value:\n");
  scanf ("%d", &ret);
}
