In this example, 'dmtcp_launch -i 2' was invoked to checkpoint
every 2 seconds.  This plugin causes the application applic.c to delay
the checkpoint that is requested by the coordinator.  It can ensure
that DMTCP does not checkpoint in the middle of a critical section of
the application.

In this example, the target application applic.c contains:
  #include "dmtcp.h"
and also:
  dmtcp_is_enabled()
  dmtcp_disable_ckpt()
  dmtcp_enable_ckpt()

In this example, the target application applic.c contains:
  #include "dmtcp.h"
and also:
  dmtcp_checkpoint()

Note that the Makefile compiles applic.c into ./applic, and that this same
executable can be run with or without DMTCP:
  dmtcp_launch ./applic # dmtcp_disable_ckpt() invokes DMTCP to checkpoint
  ./applic  # dmtcp_disable_ckpt() returns the constant, DMTCP_NOT_PRESENT

The plugin libplugin-to-announce-events.so is not needed here.
It's used only to generate printing of events for the demonstration.

Note the need to compile the target application with -fPIC , due to the use
of dmtcpDelayCheckpointsLock().  The '-fPIC' is needed so that the same binary
can be used both with and without DMTCP.

This example is sufficient for most applications, but more advanced
hooks to DMTCP are also listed in applic.c .
