From 793fbab7d571d7e2e71cb35e5abdb8c0a309a2c5 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 12 Feb 2021 11:11:10 +0900 Subject: Rename `mrb_sleep.c` to `sleep.c` in `mruby-sleep` gem. --- mrbgems/mruby-sleep/src/mrb_sleep.c | 136 ------------------------------------ mrbgems/mruby-sleep/src/sleep.c | 136 ++++++++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+), 136 deletions(-) delete mode 100644 mrbgems/mruby-sleep/src/mrb_sleep.c create mode 100644 mrbgems/mruby-sleep/src/sleep.c diff --git a/mrbgems/mruby-sleep/src/mrb_sleep.c b/mrbgems/mruby-sleep/src/mrb_sleep.c deleted file mode 100644 index 79a5af650..000000000 --- a/mrbgems/mruby-sleep/src/mrb_sleep.c +++ /dev/null @@ -1,136 +0,0 @@ -/* -** mrb_sleep - sleep methods for mruby -** -** Copyright (c) mod_mruby developers 2012- -** Copyright (c) mruby developers 2018 -** -** Permission is hereby granted, free of charge, to any person obtaining -** a copy of this software and associated documentation files (the -** "Software"), to deal in the Software without restriction, including -** without limitation the rights to use, copy, modify, merge, publish, -** distribute, sublicense, and/or sell copies of the Software, and to -** permit persons to whom the Software is furnished to do so, subject to -** the following conditions: -** -** The above copyright notice and this permission notice shall be -** included in all copies or substantial portions of the Software. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -** -** [ MIT license: https://www.opensource.org/licenses/mit-license.php ] -*/ - -#include -#ifdef _WIN32 - #include - #define sleep(x) Sleep(x * 1000) - #define usleep(x) Sleep((DWORD)(((x)<1000) ? 1 : ((x)/1000))) -#else - #include - #include -#endif - -#include "mruby.h" - -/* not implemented forever sleep (called without an argument)*/ -static mrb_value -mrb_f_sleep(mrb_state *mrb, mrb_value self) -{ - time_t beg = time(0); - time_t end; -#ifndef MRB_NO_FLOAT - mrb_float sec; - - mrb_get_args(mrb, "f", &sec); - if (sec >= 0) { - usleep(sec * 1000000); - } - else { - mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative"); - } -#else - mrb_int sec; - - mrb_get_args(mrb, "i", &sec); - if (sec >= 0) { - sleep(sec); - } else { - mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative"); - } -#endif - end = time(0) - beg; - - return mrb_fixnum_value((mrb_int)end); -} - -/* mruby special; needed for mruby without float numbers */ -static mrb_value -mrb_f_usleep(mrb_state *mrb, mrb_value self) -{ - mrb_int usec; -#ifdef _WIN32 - FILETIME st_ft,ed_ft; - unsigned __int64 st_time = 0; - unsigned __int64 ed_time = 0; -#else - struct timeval st_tm,ed_tm; -#endif - time_t slp_tm; - -#ifdef _WIN32 - GetSystemTimeAsFileTime(&st_ft); -#else - gettimeofday(&st_tm, NULL); -#endif - - /* not implemented forever sleep (called without an argument)*/ - mrb_get_args(mrb, "i", &usec); - - if (usec >= 0) { - usleep(usec); - } else { - mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative integer"); - } - -#ifdef _WIN32 - GetSystemTimeAsFileTime(&ed_ft); - - st_time |= st_ft.dwHighDateTime; - st_time <<=32; - st_time |= st_ft.dwLowDateTime; - ed_time |= ed_ft.dwHighDateTime; - ed_time <<=32; - ed_time |= ed_ft.dwLowDateTime; - - slp_tm = (ed_time - st_time) / 10; -#else - gettimeofday(&ed_tm, NULL); - - if (st_tm.tv_usec > ed_tm.tv_usec) { - slp_tm = 1000000 + ed_tm.tv_usec - st_tm.tv_usec; - } - else { - slp_tm = ed_tm.tv_usec - st_tm.tv_usec; - } -#endif - - return mrb_fixnum_value((mrb_int)slp_tm); -} - -void -mrb_mruby_sleep_gem_init(mrb_state *mrb) -{ - mrb_define_method(mrb, mrb->kernel_module, "sleep", mrb_f_sleep, MRB_ARGS_REQ(1)); - mrb_define_method(mrb, mrb->kernel_module, "usleep", mrb_f_usleep, MRB_ARGS_REQ(1)); -} - -void -mrb_mruby_sleep_gem_final(mrb_state *mrb) -{ -} diff --git a/mrbgems/mruby-sleep/src/sleep.c b/mrbgems/mruby-sleep/src/sleep.c new file mode 100644 index 000000000..79a5af650 --- /dev/null +++ b/mrbgems/mruby-sleep/src/sleep.c @@ -0,0 +1,136 @@ +/* +** mrb_sleep - sleep methods for mruby +** +** Copyright (c) mod_mruby developers 2012- +** Copyright (c) mruby developers 2018 +** +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +** +** [ MIT license: https://www.opensource.org/licenses/mit-license.php ] +*/ + +#include +#ifdef _WIN32 + #include + #define sleep(x) Sleep(x * 1000) + #define usleep(x) Sleep((DWORD)(((x)<1000) ? 1 : ((x)/1000))) +#else + #include + #include +#endif + +#include "mruby.h" + +/* not implemented forever sleep (called without an argument)*/ +static mrb_value +mrb_f_sleep(mrb_state *mrb, mrb_value self) +{ + time_t beg = time(0); + time_t end; +#ifndef MRB_NO_FLOAT + mrb_float sec; + + mrb_get_args(mrb, "f", &sec); + if (sec >= 0) { + usleep(sec * 1000000); + } + else { + mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative"); + } +#else + mrb_int sec; + + mrb_get_args(mrb, "i", &sec); + if (sec >= 0) { + sleep(sec); + } else { + mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative"); + } +#endif + end = time(0) - beg; + + return mrb_fixnum_value((mrb_int)end); +} + +/* mruby special; needed for mruby without float numbers */ +static mrb_value +mrb_f_usleep(mrb_state *mrb, mrb_value self) +{ + mrb_int usec; +#ifdef _WIN32 + FILETIME st_ft,ed_ft; + unsigned __int64 st_time = 0; + unsigned __int64 ed_time = 0; +#else + struct timeval st_tm,ed_tm; +#endif + time_t slp_tm; + +#ifdef _WIN32 + GetSystemTimeAsFileTime(&st_ft); +#else + gettimeofday(&st_tm, NULL); +#endif + + /* not implemented forever sleep (called without an argument)*/ + mrb_get_args(mrb, "i", &usec); + + if (usec >= 0) { + usleep(usec); + } else { + mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative integer"); + } + +#ifdef _WIN32 + GetSystemTimeAsFileTime(&ed_ft); + + st_time |= st_ft.dwHighDateTime; + st_time <<=32; + st_time |= st_ft.dwLowDateTime; + ed_time |= ed_ft.dwHighDateTime; + ed_time <<=32; + ed_time |= ed_ft.dwLowDateTime; + + slp_tm = (ed_time - st_time) / 10; +#else + gettimeofday(&ed_tm, NULL); + + if (st_tm.tv_usec > ed_tm.tv_usec) { + slp_tm = 1000000 + ed_tm.tv_usec - st_tm.tv_usec; + } + else { + slp_tm = ed_tm.tv_usec - st_tm.tv_usec; + } +#endif + + return mrb_fixnum_value((mrb_int)slp_tm); +} + +void +mrb_mruby_sleep_gem_init(mrb_state *mrb) +{ + mrb_define_method(mrb, mrb->kernel_module, "sleep", mrb_f_sleep, MRB_ARGS_REQ(1)); + mrb_define_method(mrb, mrb->kernel_module, "usleep", mrb_f_usleep, MRB_ARGS_REQ(1)); +} + +void +mrb_mruby_sleep_gem_final(mrb_state *mrb) +{ +} -- cgit v1.2.3