Merge 3c8385f38a
into 3eefa464ee
This commit is contained in:
commit
0916cf8ca6
5 changed files with 24 additions and 4 deletions
|
@ -1004,4 +1004,11 @@ int getpid()
|
|||
return ::getpid();
|
||||
}
|
||||
|
||||
ErrorOr<void> sleep_ms(u32 milliseconds)
|
||||
{
|
||||
if (usleep(1000 * milliseconds) != 0)
|
||||
return Error::from_syscall("usleep"sv, -errno);
|
||||
return {};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -180,5 +180,6 @@ ErrorOr<void> set_resource_limits(int resource, rlim_t limit);
|
|||
#endif
|
||||
|
||||
int getpid();
|
||||
ErrorOr<void> sleep_ms(u32 milliseconds);
|
||||
|
||||
}
|
||||
|
|
|
@ -189,4 +189,10 @@ int getpid()
|
|||
return GetCurrentProcessId();
|
||||
}
|
||||
|
||||
ErrorOr<void> sleep_ms(u32 milliseconds)
|
||||
{
|
||||
Sleep(milliseconds);
|
||||
return {};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -272,8 +272,14 @@ if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i.86.*")
|
|||
target_link_libraries(LibJS PRIVATE atomic)
|
||||
endif()
|
||||
|
||||
# This flag has no effect on Windows
|
||||
if (NOT WIN32)
|
||||
if (WIN32)
|
||||
# FIXME: Windows on ARM
|
||||
target_link_libraries(LibJS PRIVATE clang_rt.builtins-x86_64.lib)
|
||||
# FIXME: This is a hack to get around lld-link error undefined symbol GC::HeapBlockBase::block_size
|
||||
# LibGC HeapBlock.obj is given directly to LibJS linker
|
||||
target_link_libraries(LibJS PRIVATE $<FILTER:$<TARGET_OBJECTS:LibGC>,INCLUDE,HeapBlock>)
|
||||
else()
|
||||
# This flag has no effect on Windows
|
||||
target_compile_options(LibJS PRIVATE -fno-omit-frame-pointer)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
*/
|
||||
|
||||
#include <AK/Time.h>
|
||||
#include <LibCore/System.h>
|
||||
#include <LibJS/Contrib/Test262/AgentObject.h>
|
||||
#include <LibJS/Runtime/GlobalObject.h>
|
||||
#include <LibJS/Runtime/Object.h>
|
||||
#include <unistd.h>
|
||||
|
||||
namespace JS::Test262 {
|
||||
|
||||
|
@ -41,7 +41,7 @@ JS_DEFINE_NATIVE_FUNCTION(AgentObject::monotonic_now)
|
|||
JS_DEFINE_NATIVE_FUNCTION(AgentObject::sleep)
|
||||
{
|
||||
auto milliseconds = TRY(vm.argument(0).to_i32(vm));
|
||||
::usleep(milliseconds * 1000);
|
||||
(void)Core::System::sleep_ms(milliseconds);
|
||||
return js_undefined();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue