Just try to run async, and if that fails (usually with "cannot yield across c-call boundary") then fallback to running the command and awaiting the result.
Hopefully this should remove some confusion around which interface to use, and will prefer async at all times unless that doesn't work.
Hopefully no side effects.
Could probably be refactored to contain this logic in the process class.
Just try to run async, and if that fails (usually with "cannot yield across c-call boundary") then fallback to running the command and awaiting the result.
Hopefully this should remove some confusion around which interface to use, and will prefer async at all times unless that doesn't work.
Hopefully no side effects.
Could probably be refactored to contain this logic in the process class.