Move the sleep function to jerry-port (#2245)

Now the jerry-debugger uses the jerry-port's sleep, therefore if there are systems that don't support
usleep or nanosleep can now define their own function.

JerryScript-DCO-1.0-Signed-off-by: Istvan Miklos imiklos2@inf.u-szeged.hu
This commit is contained in:
imiklos
2018-03-22 02:36:40 +01:00
committed by yichoi
parent d701a7bfb1
commit 15f6ca9f70
4 changed files with 85 additions and 15 deletions
+38
View File
@@ -112,6 +112,15 @@ Allow user to provide external buffer for jerry instance (which includes an isol
struct jerry_instance_t *jerry_port_get_current_instance (void);
```
## Sleep
```c
/**
* Makes the process sleep for a given time.
*/
void jerry_port_sleep (uint32_t sleep_time);
```
# How to port JerryScript
This section describes a basic port implementation which was created for Unix based systems.
@@ -231,3 +240,32 @@ jerry_port_get_current_instance (void)
return current_instance_p;
} /* jerry_port_get_current_instance */
```
## Sleep
```c
#include "jerryscript-port.h"
#include "jerryscript-port-default.h"
#ifdef HAVE_TIME_H
#include <time.h>
#elif defined (HAVE_UNISTD_H)
#include <unistd.h>
#endif /* HAVE_TIME_H */
#ifdef JERRY_DEBUGGER
void jerry_port_sleep (uint32_t sleep_time)
{
#ifdef HAVE_TIME_H
nanosleep (&(const struct timespec)
{
sleep_time / 1000, (sleep_time % 1000) * 1000000L /* Seconds, nanoseconds */
}
, NULL);
#elif defined (HAVE_UNISTD_H)
usleep ((useconds_t) sleep_time * 1000);
#endif /* HAVE_TIME_H */
(void) sleep_time;
} /* jerry_port_sleep */
#endif /* JERRY_DEBUGGER */
```