shingjan commented on a change in pull request #8492:
URL: https://github.com/apache/tvm/pull/8492#discussion_r675238878



##########
File path: python/tvm/auto_scheduler/utils.py
##########
@@ -305,25 +306,15 @@ def _func_wrapper(que, func, args, kwargs, 
add_thread_wrapper):
 
 def call_func_with_timeout(timeout, func, args=(), kwargs=None, 
add_thread_wrapper=False):
     """Call a function with timeout"""
-    que = multiprocessing.Queue(2)
-    process = multiprocessing.Process(
-        target=_func_wrapper, args=(que, func, args, kwargs or {}, 
add_thread_wrapper)
-    )
-    process.start()
+    process = PopenWorker()
+    process.send(func, args, kwargs, timeout)
 
     try:
-        res = que.get(timeout=timeout)
-    except queue.Empty:
-        res = TimeoutError()
-
-    # clean queue and process
-    kill_child_processes(process.pid)
-    process.terminate()
-    process.join()
-    que.close()
-    que.join_thread()
-    del process
-    del que
+        res = process.recv()
+    except Exception as ex:
+        res = ex

Review comment:
       I used a newly created exception containing the result returned by 
`make_traceback_info`. And this new exception will be returned as result.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to