aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-08-06 21:50:55 +0800
committerchai <chaifix@163.com>2018-08-06 21:50:55 +0800
commitf5e72dd12fc47f082a4f6d14090391410aa8a9f1 (patch)
treed333605b5bfb651c336dcb60f27d99048cd8ff89 /src
parent5bcb37a04383f6827aaea3aaf67ffc5e32e5f990 (diff)
*update
Diffstat (limited to 'src')
-rw-r--r--src/libjin/Thread/Thread.cpp5
-rw-r--r--src/libjin/Thread/Thread.h1
-rw-r--r--src/libjin/thread/thread.cpp5
-rw-r--r--src/libjin/thread/thread.h1
-rw-r--r--src/lua/thread/luaopen_Thread.cpp8
5 files changed, 7 insertions, 13 deletions
diff --git a/src/libjin/Thread/Thread.cpp b/src/libjin/Thread/Thread.cpp
index ae6498d..06975f7 100644
--- a/src/libjin/Thread/Thread.cpp
+++ b/src/libjin/Thread/Thread.cpp
@@ -23,7 +23,6 @@ namespace thread
friend class Conditional;
};
- // ̼߳signal wait
class Conditional
{
public:
@@ -44,19 +43,15 @@ namespace thread
Lock(Mutex* m) : mutex(m) {
mutex->lock();
}
-
Lock(Mutex& m) : mutex(&m) {
mutex->lock();
}
-
~Lock() {
mutex->unlock();
}
private:
Mutex* mutex;
-
Lock(Lock&) {}
-
};
//////////////////////////////////////////////////////////////////////
diff --git a/src/libjin/Thread/Thread.h b/src/libjin/Thread/Thread.h
index e271fc9..4996705 100644
--- a/src/libjin/Thread/Thread.h
+++ b/src/libjin/Thread/Thread.h
@@ -82,6 +82,7 @@ namespace thread
private:
std::map<std::string, Value> share; // threads shared value
+ std::map<std::string, void*> sharevalue;
};
public:
diff --git a/src/libjin/thread/thread.cpp b/src/libjin/thread/thread.cpp
index ae6498d..06975f7 100644
--- a/src/libjin/thread/thread.cpp
+++ b/src/libjin/thread/thread.cpp
@@ -23,7 +23,6 @@ namespace thread
friend class Conditional;
};
- // ̼߳signal wait
class Conditional
{
public:
@@ -44,19 +43,15 @@ namespace thread
Lock(Mutex* m) : mutex(m) {
mutex->lock();
}
-
Lock(Mutex& m) : mutex(&m) {
mutex->lock();
}
-
~Lock() {
mutex->unlock();
}
private:
Mutex* mutex;
-
Lock(Lock&) {}
-
};
//////////////////////////////////////////////////////////////////////
diff --git a/src/libjin/thread/thread.h b/src/libjin/thread/thread.h
index e271fc9..4996705 100644
--- a/src/libjin/thread/thread.h
+++ b/src/libjin/thread/thread.h
@@ -82,6 +82,7 @@ namespace thread
private:
std::map<std::string, Value> share; // threads shared value
+ std::map<std::string, void*> sharevalue;
};
public:
diff --git a/src/lua/thread/luaopen_Thread.cpp b/src/lua/thread/luaopen_Thread.cpp
index f811bdf..c08c262 100644
--- a/src/lua/thread/luaopen_Thread.cpp
+++ b/src/lua/thread/luaopen_Thread.cpp
@@ -1,5 +1,6 @@
#include "lua/luax.h"
#include "libjin/jin.h"
+#include "../luaopen_jin.h"
#include "../luaopen_types.h"
namespace jin
@@ -36,9 +37,8 @@ namespace jin
Thread* thread = (Thread*)p;
lua_State* L = lua_open();
luax_openlibs(L);
- luaopen_thread(L);
- luax_dostring(L, thread->code.c_str(), thread->code.length(),thread->name.c_str());
-
+ luaopen_jin(L);
+ luax_dostring(L, thread->code.c_str());
}
static int l_gc(lua_State* L)
@@ -117,6 +117,8 @@ namespace jin
static int l_demand(lua_State* L)
{
+ Thread* t = checkThread(L);
+
return 1;
}