asynctools
asynctools copied to clipboard
Various asynchronous tools for Nim language
closes #16
There was a race condition in the `execProcess` procedure. The future for awaiting a process to finish should be created before the process actually finishes.
Consider the following examples: Variant: 1 writing into a asyncPipe ``` nim import faststreams/async_backend, faststreams/asynctools_adapters, faststreams/textio, faststreams/inputs proc copyStdioToPipe(pipe: AsyncPipe) {.thread.} = var ch = "hello" var ch2 = "\n"...
The following simple program crashes on Windows: ```nim import strformat, std/enumerate, os, asyncdispatch, asynctools/asyncproc type ProcessOutput = tuple[exitCode: int, output: string] var urlsToDownload: seq[string] = @[ "www.w3.org/TR/html401/html40.txt", "www.w3.org/TR/2002/REC-xhtml1-20020801/xhtml1.pdf"] proc downloadUrl(url:...
For some reason the setnonblocking function failed on both my Intel and M1 based Macbook Pro. The `fcntl(fd, F_SETFL, mode)` complains about `ENOTTY` but for a fact that the `fd`...
``` .nimble/pkgs/asynctools-0.1.1/asynctools/asyncsync.nim(159, 15) Error: type mismatch: got but expected one of: proc callSoon(cbproc: proc () {.gcsafe.}) first type mismatch at position: 1 required type for cbproc: proc (){.closure, gcsafe.} but...
Without it, I couldn't compile and got this error: ``` /home/jonathan/dev/nim-status-client/vendor/asynctools/asynctools/asyncsync.nim(159, 15) Error: type mismatch: got but expected one of: proc callSoon(cbproc: proc () {.gcsafe.}) first type mismatch at position:...
Fix an error in Nim 1.2 on Windows: asynctools\asyncpipe.nim(260, 16) Error: undeclared identifier: 'PCustomOverlapped' Also, it took me suuuuper long to find out how to detect that asyncpipe.readInto encountered an...