1141cc406Sopenharmony_ci#include "../include/sane/config.h" 2141cc406Sopenharmony_ci 3141cc406Sopenharmony_ci#ifndef HAVE_SLEEP 4141cc406Sopenharmony_ci 5141cc406Sopenharmony_ci#ifdef HAVE_WINDOWS_H 6141cc406Sopenharmony_ci#include <windows.h> 7141cc406Sopenharmony_ci#endif 8141cc406Sopenharmony_ci 9141cc406Sopenharmony_ciunsigned int sleep(unsigned int seconds) 10141cc406Sopenharmony_ci{ 11141cc406Sopenharmony_ci#ifdef HAVE_WINDOWS_H 12141cc406Sopenharmony_ci Sleep(seconds*1000); 13141cc406Sopenharmony_ci return 0; 14141cc406Sopenharmony_ci#else 15141cc406Sopenharmony_ci int rc = 0; 16141cc406Sopenharmony_ci 17141cc406Sopenharmony_ci /* WARNING: Not all platforms support usleep() for more than 1 18141cc406Sopenharmony_ci * second. Assuming if they do not have POSIX sleep then they 19141cc406Sopenharmony_ci * do not have POSIX usleep() either and are using our internal 20141cc406Sopenharmony_ci * version which can support it. If it fails, need to add an OS 21141cc406Sopenharmony_ci * specific replacement like Sleep for Windows. 22141cc406Sopenharmony_ci */ 23141cc406Sopenharmony_ci if (usleep(seconds*1000000)) 24141cc406Sopenharmony_ci rc = 1; 25141cc406Sopenharmony_ci return rc; 26141cc406Sopenharmony_ci#endif 27141cc406Sopenharmony_ci 28141cc406Sopenharmony_ci} 29141cc406Sopenharmony_ci 30141cc406Sopenharmony_ci#endif 31