Blame rt/tst-clock2.c

Packit Service 1c5418
/* Test setting the monotonic clock.  */
Packit Service 1c5418
Packit Service 1c5418
#include <time.h>
Packit Service 1c5418
#include <unistd.h>
Packit Service 1c5418
Packit Service 1c5418
#if defined CLOCK_MONOTONIC && defined _POSIX_MONOTONIC_CLOCK
Packit Service 1c5418
Packit Service 1c5418
# include <errno.h>
Packit Service 1c5418
# include <stdio.h>
Packit Service 1c5418
Packit Service 1c5418
static int
Packit Service 1c5418
do_test (void)
Packit Service 1c5418
{
Packit Service 1c5418
  if (sysconf (_SC_MONOTONIC_CLOCK) <= 0)
Packit Service 1c5418
    return 0;
Packit Service 1c5418
Packit Service 1c5418
  struct timespec ts;
Packit Service 1c5418
  if (clock_gettime (CLOCK_MONOTONIC, &ts) != 0)
Packit Service 1c5418
    {
Packit Service 1c5418
      puts ("clock_gettime(CLOCK_MONOTONIC) failed");
Packit Service 1c5418
      return 1;
Packit Service 1c5418
    }
Packit Service 1c5418
Packit Service 1c5418
  /* Setting the monotonic clock must fail.  */
Packit Service 1c5418
  if (clock_settime (CLOCK_MONOTONIC, &ts) != -1)
Packit Service 1c5418
    {
Packit Service 1c5418
      puts ("clock_settime(CLOCK_MONOTONIC) did not fail");
Packit Service 1c5418
      return 1;
Packit Service 1c5418
    }
Packit Service 1c5418
  if (errno != EINVAL)
Packit Service 1c5418
    {
Packit Service 1c5418
      printf ("clock_settime(CLOCK_MONOTONIC) set errno to %d, expected %d\n",
Packit Service 1c5418
	      errno, EINVAL);
Packit Service 1c5418
      return 1;
Packit Service 1c5418
    }
Packit Service 1c5418
  return 0;
Packit Service 1c5418
}
Packit Service 1c5418
# define TEST_FUNCTION do_test ()
Packit Service 1c5418
Packit Service 1c5418
#else
Packit Service 1c5418
# define TEST_FUNCTION	0
Packit Service 1c5418
#endif
Packit Service 1c5418
#include "../test-skeleton.c"