Timers run in their own thread, to take advantage of existing Java Executor features. By hooking into ALooper, we can spin the main Activity's UI thread event loop without causing a fuss, or spinning the CPU by just polling our event loop constantly.
20 lines
678 B
C++
20 lines
678 B
C++
/*
|
|
* Copyright (c) 2023, Andrew Kaster <akaster@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <android/log.h>
|
|
#include <jni.h>
|
|
#include <unistd.h>
|
|
|
|
extern "C" JNIEXPORT void JNICALL
|
|
Java_org_serenityos_ladybird_WebContentService_nativeHandleTransferSockets(JNIEnv*, jobject /* thiz */, jint ipc_socket, jint fd_passing_socket)
|
|
{
|
|
__android_log_print(ANDROID_LOG_INFO, "WebContent", "New binding received, sockets %d and %d", ipc_socket, fd_passing_socket);
|
|
::close(ipc_socket);
|
|
::close(fd_passing_socket);
|
|
|
|
// FIXME: Create a new thread to start WebContent processing
|
|
// Make sure to create IPC sockets *in that thread*!
|
|
}
|