
/* vim: ft=c ff=unix fenc=utf-8
 * file: a.c
 */
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <strings.h>
#include <errno.h>

int
main(int argc, char *argv[])
{
	pthread_cond_t c;
	pthread_mutex_t m;
	struct timespec ts;

	pthread_mutex_init(&m, NULL);
	pthread_cond_init(&c, NULL);

	pthread_mutex_lock(&m);

	time(&ts.tv_sec);
	ts.tv_sec += 5;
	ts.tv_nsec = 0u;

	printf("timedwait: %d\n", pthread_cond_timedwait(&c, &m, &ts));
	printf("ETIMEDOUT: (%d)\n", errno, strerror(errno), ETIMEDOUT);
	printf("unlock: %d\n", pthread_mutex_unlock(&m));

	pthread_mutex_destroy(&m);
	pthread_cond_destroy(&c);

	return EXIT_SUCCESS;
}

