You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 12, 2026. It is now read-only.
The first time a worker calls "ReadyForNewTask", all of the remote functions will be added to a queue to be exported to the worker. Then schedule is called, which tries to export all of the remote functions to the worker. If the size of the worker's message queue is smaller than the number of exported remote functions, then this will freeze, and ReadyForNewTask will never return. The solution is to allow schedule to be called only after ReadyForNewTask has returned.
This problem can be easily exposed by changing the default size of the message queue in ipc.h to a small number like 5 and then running the tests.
The first time a worker calls "ReadyForNewTask", all of the remote functions will be added to a queue to be exported to the worker. Then schedule is called, which tries to export all of the remote functions to the worker. If the size of the worker's message queue is smaller than the number of exported remote functions, then this will freeze, and ReadyForNewTask will never return. The solution is to allow schedule to be called only after ReadyForNewTask has returned.
This problem can be easily exposed by changing the default size of the message queue in
ipc.hto a small number like5and then running the tests.