Преглед на файлове

[python] more sys.thread adjustments

Aleksandr Kuzmenko преди 4 години
родител
ревизия
1f9e0bc45f
променени са 2 файла, в които са добавени 14 реда и са изтрити 8 реда
  1. 13 7
      std/python/_std/sys/thread/Mutex.hx
  2. 1 1
      std/python/_std/sys/thread/Thread.hx

+ 13 - 7
std/python/_std/sys/thread/Mutex.hx

@@ -22,23 +22,29 @@
 
 package sys.thread;
 
-@:forward("release")
-abstract Mutex(NativeRLock) {
-	inline public function new() {
-		this = new NativeRLock();
+@:coreApi
+class Mutex {
+	final lock:NativeRLock;
+
+	inline public function new():Void {
+		lock = new NativeRLock();
 	}
 
 	inline public function acquire():Void {
-		this.acquire(true);
+		lock.acquire(true);
 	}
 
 	inline public function tryAcquire():Bool {
-		return this.acquire(false);
+		return lock.acquire(false);
+	}
+
+	inline public function release():Void {
+		lock.release();
 	}
 }
 
 @:pythonImport("threading", "RLock")
-extern class NativeRLock {
+private extern class NativeRLock {
 	function new():Void;
 	function acquire(blocking:Bool):Bool;
 	function release():Void;

+ 1 - 1
std/python/_std/sys/thread/Thread.hx

@@ -24,7 +24,7 @@ package sys.thread;
 
 private typedef ThreadImpl = HxThread;
 
-abstract Thread(HxThread) from ThreadImpl {
+abstract Thread(ThreadImpl) from ThreadImpl {
 	public var events(get,never):EventLoop;
 
 	public static inline function current():Thread {