title: Does timer_delete need to be called to delete the timer every time?
body: <p>I used <code>timer_create()</code> in the following code. It will trigger the handler only once after 10 seconds. </p>
  
  <pre><code>struct itimerspec itimer = { { 0, 0 }, { 10, 0 } };
  struct sigevent si;
  
  memset (&amp;si, 0, sizeof (struct sigevent));
  si.sigev_notify = SIGEV_THREAD;
  si.sigev_notify_attributes = NULL;
  si.sigev_notify_function = t;
  
  if (timer_create (CLOCK_REALTIME, &amp;si, &amp;timer) &lt; 0)
  {
      fprintf (stderr, "[%d]: %s\n", __LINE__, strerror (errno));
      exit (errno);
  }
  if (timer_settime (timer, 0, &amp;itimer, NULL) &lt; 0)
  {
      fprintf (stderr, "[%d]: %s\n", __LINE__, strerror (errno));
      exit (errno);
  }
  </code></pre>
  
  <p>My question is, after 10 seconds my handler got triggered - now do I have to delete the timer using <code>timer_delete()</code> before exiting the process? Or, since it is triggered only once, is there no need to delete it explicitly? </p>