From 09eee478cd3085633d87ddc8a7997ff3d000102e Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sun, 15 Nov 2009 23:10:15 +0000 Subject: [PATCH] Fixed some CYInitialize issues noticed back on the iPhone. --- Execute.cpp | 6 ++++++ Handler.mm | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Execute.cpp b/Execute.cpp index 3135c2c..a517fb4 100644 --- a/Execute.cpp +++ b/Execute.cpp @@ -1279,7 +1279,13 @@ extern "C" void CydgetSetupContext(JSGlobalContextRef context) { CYSetupContext(context); } +static bool initialized_ = false; + void CYInitializeDynamic() { + if (!initialized_) + initialized_ = true; + else return; + CYInitializeStatic(); _sqlcall(sqlite3_open("/usr/lib/libcycript.db", &Bridge_)); diff --git a/Handler.mm b/Handler.mm index 79528c4..38ef638 100644 --- a/Handler.mm +++ b/Handler.mm @@ -38,6 +38,7 @@ /* }}} */ #include "cycript.hpp" +#include "JavaScript.hpp" #include "Pooling.hpp" #include "Parser.hpp" @@ -173,7 +174,7 @@ extern "C" void CYHandleClient(apr_pool_t *pool, int socket) { } extern "C" void CYHandleServer(pid_t pid) { - CYInitialize(); + CYInitializeDynamic(); int socket(_syscall(::socket(PF_UNIX, SOCK_STREAM, 0))); try { struct sockaddr_un address; -- 2.49.0