From 8a61ef4c7569c6b34d6a180577490693df7fa217 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser <kaspar@schleiser.de> Date: Fri, 20 Nov 2015 00:54:29 +0100 Subject: [PATCH] sys: posix: switch to xtimer for sleep/usleep --- Makefile.dep | 3 +- sys/posix/include/unistd.h | 119 ------------------------------------- sys/posix/unistd.c | 17 +----- 3 files changed, 2 insertions(+), 137 deletions(-) delete mode 100644 sys/posix/include/unistd.h diff --git a/Makefile.dep b/Makefile.dep index 0ff91fe2d3..97125d5200 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -283,8 +283,7 @@ ifneq (,$(filter uart_stdio,$(USEMODULE))) endif ifneq (,$(filter posix,$(USEMODULE))) - USEMODULE += timex - USEMODULE += vtimer + USEMODULE += xtimer endif ifneq (,$(filter posix_semaphore,$(USEMODULE))) diff --git a/sys/posix/include/unistd.h b/sys/posix/include/unistd.h deleted file mode 100644 index 3bda2a070e..0000000000 --- a/sys/posix/include/unistd.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 2013 Freie Universität Berlin - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @addtogroup posix - * @{ - */ - -/** - * @file - * @brief standard symbolic constants and types - * @see <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html"> - * The Open Group Base Specifications Issue 7, <unistd.h> - * </a> - * - * @author Martine Lenders <mlenders@inf.fu-berlin.de> - */ -#ifndef _UNISTD_H -#define _UNISTD_H - -#include <stdint.h> - -#include "timex.h" -#include "vtimer.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define STDIN_FILENO 0 ///< stdin file descriptor -#define STDOUT_FILENO 1 ///< stdout file descriptor -#define STDERR_FILENO 2 ///< stderr file descriptor - -/** - * @brief Close a file descriptor. - * @details shall deallocate the file descriptor indicated by *fildes*. To - * deallocate means to make the file descriptor available for return - * by subsequent calls to open() or other functions that allocate file - * descriptors. All outstanding record locks owned by the process on - * the file associated with the file descriptor shall be removed (that - * is, unlocked). - * - * @see <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html"> - * The Open Group Base Specification Issue 7, close - * </a> - * - * @param[in] fildes The file descriptor to the file which is to close. - * @return Upon successful completion, 0 shall be returned; otherwise, -1 - * shall be returned and errno set to indicate the error. - */ -int close(int fildes); - -/** - * @name Microseconds data type - * @{ - */ -#ifndef __USECONDS_T_TYPE -#if !(defined(__MACH__) || defined(__FreeBSD__)) -typedef unsigned long __USECONDS_T_TYPE; -typedef __USECONDS_T_TYPE __useconds_t; -#else -#ifdef __MACH__ -typedef __darwin_useconds_t __useconds_t; -#endif -#endif -#endif -typedef __useconds_t useconds_t; -/** @} */ - -/** - * @brief the caller will sleep for given amount of micro seconds - * @details The usleep() function will cause the calling thread to be - * suspended from execution until either the number of real-time microseconds - * specified by the argument useconds has elapsed or a signal is delivered to - * the calling thread and its action is to invoke a signal-catching function - * or to terminate the process. The suspension time may be longer than - * requested due to the scheduling of other activity by the system. - * - * @see <a href="http://pubs.opengroup.org/onlinepubs/7908799/xsh/usleep.html"> - * The Open Group Base Specification Issue 2, usleep - * </a> - * - * @param useconds time to sleep in micro seconds - * @return 0 on success - */ -int usleep(useconds_t useconds); - -/** - * @brief the caller will sleep for given amount of seconds - * @details The sleep() function shall cause the calling thread to be suspended - * from execution until either the number of realtime seconds - * specified by the argument seconds has elapsed or a signal is - * delivered to the calling thread and its action is to invoke a - * signal-catching function or to terminate the process. The - * suspension time may be longer than requested due to the scheduling - * of other activity by the system. - * - * @see <a href="http://pubs.opengroup.org/onlinepubs/009695399/functions/sleep.html"> - * The Open Group Base Specification Issue 6, sleep - * </a> - * - * @param seconds time to sleep in seconds - * @return 0 on success - */ -unsigned int sleep(unsigned int seconds); - -#ifdef __cplusplus -} -#endif - -/** - * @} - */ -#endif /* _UNISTD_H */ diff --git a/sys/posix/unistd.c b/sys/posix/unistd.c index abc89db0c4..c7f2fe7d39 100644 --- a/sys/posix/unistd.c +++ b/sys/posix/unistd.c @@ -14,9 +14,9 @@ * @author Christian Mehlis <mehlis@inf.fu-berlin.de> */ #include <errno.h> +#include <unistd.h> #include "fd.h" -#include "unistd.h" int close(int fildes) { @@ -37,21 +37,6 @@ int close(int fildes) return 0; } -int usleep(useconds_t useconds) -{ - timex_t time = timex_set(0, useconds); - timex_normalize(&time); - vtimer_sleep(time); - return 0; -} - -unsigned int sleep(unsigned int seconds) -{ - timex_t time = timex_set(seconds, 0); - vtimer_sleep(time); - return 0; -} - /** * @} */ -- GitLab