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