diff --git a/src/duct/src/CMakeLists.txt b/src/duct/src/CMakeLists.txt index 23b55350f..4d2708dbb 100644 --- a/src/duct/src/CMakeLists.txt +++ b/src/duct/src/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib -Wl,-bind_ SET(duct_sources commpage.c libnotify.c numcpus.c - CRGetCrashLogMessage.c acl.c bootstrap.c dns_sd.c + CRGetCrashLogMessage.c acl.c dns_sd.c sa_dst_compare.c os_log.c) set(DYLIB_INSTALL_NAME "/usr/lib/system/libsystem_duct.dylib") diff --git a/src/duct/src/bootstrap.c b/src/duct/src/bootstrap.c deleted file mode 100644 index d1e4601b1..000000000 --- a/src/duct/src/bootstrap.c +++ /dev/null @@ -1,15 +0,0 @@ -#if 0 -int bootstrap_parent() -{ - return 0; -} - -void bootstrap_init(void) -{ -} -#endif - -void _libxpc_initializer(void) -{ -} - diff --git a/src/kernel/libsyscall/mach/mach_init.c b/src/kernel/libsyscall/mach/mach_init.c index a91264d48..b1ccdb435 100644 --- a/src/kernel/libsyscall/mach/mach_init.c +++ b/src/kernel/libsyscall/mach/mach_init.c @@ -61,6 +61,7 @@ #include #include #include "externs.h" +#include mach_port_t bootstrap_port = MACH_PORT_NULL; mach_port_t mach_task_self_ = MACH_PORT_NULL; @@ -84,6 +85,7 @@ static void mach_init_doit(void); extern void _pthread_set_self(void *); extern void _init_cpu_capabilities(void); +extern void lkm_call(int nr, void* arg); kern_return_t host_page_size(__unused host_t host, vm_size_t *out_page_size) @@ -115,6 +117,11 @@ _mach_fork_child(void) return 0; } +void _mach_fork_parent(void) +{ + lkm_call(NR_fork_wait_for_child, NULL); +} + void mach_init_doit(void) { diff --git a/src/lkm b/src/lkm index 1488cec8e..67630fce3 160000 --- a/src/lkm +++ b/src/lkm @@ -1 +1 @@ -Subproject commit 1488cec8e1606f90342a96c5289ec054cb6f1670 +Subproject commit 67630fce3e293a9e71b06c050b574162b7bc3ea5