Просмотр исходного кода

Prevent race condition in thread:receive (bug #131)

Bart van Strien 14 лет назад
Родитель
Сommit
cfeb01db42
2 измененных файлов с 2 добавлено и 1 удалено
  1. 2 0
      src/modules/thread/sdl/Thread.cpp
  2. 0 1
      src/modules/thread/sdl/wrap_Thread.cpp

+ 2 - 0
src/modules/thread/sdl/Thread.cpp

@@ -253,6 +253,8 @@ namespace sdl
 	{
 	{
 		lock();
 		lock();
 		ThreadVariant *v = comm->getValue(name);
 		ThreadVariant *v = comm->getValue(name);
+		if (v)
+			v->retain();
 		unlock();
 		unlock();
 		return v;
 		return v;
 	}
 	}

+ 0 - 1
src/modules/thread/sdl/wrap_Thread.cpp

@@ -82,7 +82,6 @@ namespace sdl
 			lua_pushnil(L);
 			lua_pushnil(L);
 			return 1;
 			return 1;
 		}
 		}
-		v->retain();
 		t->clear(name);
 		t->clear(name);
 		switch(v->type)
 		switch(v->type)
 		{
 		{