From 994434e55343bbe6361a64213bb82eba7f312230 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sat, 31 Oct 2009 20:27:17 +0000 Subject: [PATCH] Fixed non-CY_ATTACH builds. --- Handler.mm | 21 +++++++++++++++++++++ Library.cpp | 21 --------------------- cycript.hpp | 2 ++ 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Handler.mm b/Handler.mm index 016f0c8..2a42ef0 100644 --- a/Handler.mm +++ b/Handler.mm @@ -151,3 +151,24 @@ extern "C" void CYHandleClient(apr_pool_t *pool, int socket) { _aprcall(apr_threadattr_create(&attr, client->pool_)); _aprcall(apr_thread_create(&client->thread_, attr, &OnClient, client, client->pool_)); } + +extern "C" void CYHandleServer(pid_t pid) { + CYInitialize(); + + int socket(_syscall(::socket(PF_UNIX, SOCK_STREAM, 0))); try { + struct sockaddr_un address; + memset(&address, 0, sizeof(address)); + address.sun_family = AF_UNIX; + sprintf(address.sun_path, "/tmp/.s.cy.%u", pid); + + _syscall(connect(socket, reinterpret_cast(&address), SUN_LEN(&address))); + + apr_pool_t *pool; + apr_pool_create(&pool, NULL); + + CYHandleClient(pool, socket); + } catch (const CYException &error) { + CYPool pool; + fprintf(stderr, "%s\n", error.PoolCString(pool)); + } +} diff --git a/Library.cpp b/Library.cpp index 4cccc06..34763fb 100644 --- a/Library.cpp +++ b/Library.cpp @@ -1454,27 +1454,6 @@ CYJSError::CYJSError(JSContextRef context, const char *format, ...) { CYThrow(context, exception); } -extern "C" void CYHandleServer(pid_t pid) { - CYInitialize(); - - int socket(_syscall(::socket(PF_UNIX, SOCK_STREAM, 0))); try { - struct sockaddr_un address; - memset(&address, 0, sizeof(address)); - address.sun_family = AF_UNIX; - sprintf(address.sun_path, "/tmp/.s.cy.%u", pid); - - _syscall(connect(socket, reinterpret_cast(&address), SUN_LEN(&address))); - - apr_pool_t *pool; - apr_pool_create(&pool, NULL); - - CYHandleClient(pool, socket); - } catch (const CYException &error) { - CYPool pool; - fprintf(stderr, "%s\n", error.PoolCString(pool)); - } -} - JSGlobalContextRef CYGetJSContext() { CYInitialize(); diff --git a/cycript.hpp b/cycript.hpp index 3e38a0f..ec8cc82 100644 --- a/cycript.hpp +++ b/cycript.hpp @@ -51,6 +51,8 @@ #include +void CYInitialize(); + bool CYRecvAll_(int socket, uint8_t *data, size_t size); bool CYSendAll_(int socket, const uint8_t *data, size_t size); -- 2.49.0