Commit ddf9ff79bd

Andrew Kelley <andrew@ziglang.org>
2021-04-26 19:44:40
Revert "thread: simplify and remove useless return in spawn (#8621)"
This reverts commit 77cb45f59f7b37c316af1762298d6032e2b130b5. Zig's error return traces will point to the return token if they happen to occur, so having multiple return statements makes those stack traces really helpful. This destroys debuggability.
1 parent 77cb45f
Changed files (1)
lib
lib/std/Thread.zig
@@ -360,13 +360,15 @@ pub fn spawn(comptime startFn: anytype, context: SpawnContextType(@TypeOf(startF
             MainFuncs.posixThreadMain,
             thread_obj.data.memory.ptr,
         );
-        return switch (err) {
-            0 => thread_obj,
-            os.EAGAIN => error.SystemResources,
+        switch (err) {
+            0 => return thread_obj,
+            os.EAGAIN => return error.SystemResources,
             os.EPERM => unreachable,
             os.EINVAL => unreachable,
-            else => os.unexpectedErrno(err),
-        };
+            else => return os.unexpectedErrno(err),
+        }
+
+        return thread_obj;
     }
 
     var guard_end_offset: usize = undefined;