On Tuesday 03 November 2015 22:20:52 Octavian Purdila wrote:
> +struct pthread_sem {
> +     pthread_mutex_t lock;
> +     int count;
> +     pthread_cond_t cond;
> +};
> +
> +static void *sem_alloc(int count)
> +{
> +     struct pthread_sem *sem;
> +
> +     sem = malloc(sizeof(*sem));
> +     if (!sem)
> +             return NULL;
> +
> +     pthread_mutex_init(&sem->lock, NULL);
> +     sem->count = count;
> +     pthread_cond_init(&sem->cond, NULL);
> +
> +     return sem;
> +}

What is the reason to have generalized semaphores in the
host API rather than a simple mutex?

> +static unsigned long long time_ns(void)
> +{
> +     struct timeval tv;
> +
> +     gettimeofday(&tv, NULL);
> +
> +     return tv.tv_sec * 1000000000ULL + tv.tv_usec * 1000ULL;
> +}

clock_gettime() has been around since POSIX.1-2001 and provides the
nanosecond resolution you use in the interface.

        Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to