diff options
author | Daniel Stenberg <daniel@haxx.se> | 2012-12-11 23:31:45 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-12-11 23:31:45 +0100 |
commit | 50d7397ea54df79e403649d1e37d002eb52d268f (patch) | |
tree | 6b6eed95d3d4b69cd26e0b2377fa934d5ea99c09 /src/tool_sleep.c | |
parent | a3d6368c690b943e92082951e8c5fc3ef2d76c12 (diff) | |
parent | 4deb52831a071bc83cefb4871764281a5c32f902 (diff) | |
download | curl-multi-always.tar.gz |
Merge branch 'multi2' into multi-alwaysmulti-always
Diffstat (limited to 'src/tool_sleep.c')
-rw-r--r-- | src/tool_sleep.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/tool_sleep.c b/src/tool_sleep.c new file mode 100644 index 000000000..835484025 --- /dev/null +++ b/src/tool_sleep.c @@ -0,0 +1,62 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +#include "tool_setup.h" + +#ifdef HAVE_SYS_SELECT_H +# include <sys/select.h> +#endif + +#ifdef HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#endif + +#ifdef HAVE_SYS_POLL_H +# include <sys/poll.h> +#elif defined(HAVE_POLL_H) +# include <poll.h> +#endif + +#ifdef MSDOS +# include <dos.h> +#endif + +#include "tool_sleep.h" + +#include "memdebug.h" /* keep this as LAST include */ + +void tool_go_sleep(long ms) +{ +#if defined(MSDOS) + delay(ms); +#elif defined(WIN32) + Sleep(ms); +#elif defined(HAVE_POLL_FINE) + poll((void *)0, 0, (int)ms); +#else + struct timeval timeout; + timeout.tv_sec = ms / 1000L; + ms = ms % 1000L; + timeout.tv_usec = ms * 1000L; + select(0, NULL, NULL, NULL, &timeout); +#endif +} + |