Skip to content

New api #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open

New api #11

wants to merge 18 commits into from

Conversation

pnappa
Copy link
Owner

@pnappa pnappa commented Jan 29, 2019

Let's merge the couple new style functions in. This removes the async & process object, but these'll come soon.

It can pipe to new processes, but not sure if that's working...
the process args were populated via temporary stack variables
(intialiser lists), so having two processes created caused process
arguments to overwrite each other.
One currently doesn't pass - it doesn't fail, mind you, but the test
never terminates. A read that is happening in one of the tests is
blocking, but it is reliant on the input of the previous process.

Perhaps, I modify it that if there isn't a line immediately, it
recursively requests a line from the parent process; this isn't neat and
is prone to lockup either way.

I also added a buffer to the stdout too, as some might build up in a
process that is piped to, and not read frequently. Unfortunately, with
that addition comes another problem - if the line isn't read explicitly
(currently only via >>), the functors DO get called, but the buffer is
never empties and is increasingly filled up.

I also wrote a new testing program - it simply out puts a lot of data,
so that we can test the pipe congestion better. I just wrote this one
because we're gonna start writing the processes that are invoked from
the testing program from scratch - enabling the tests to be run
cross-platform.
Using operator>> or .read is prohibited for processes that have
processes/files to output to, or if they have a functor to execute.

The reason is to avoid massive memory increases for those who don't need
the output, and only wish to use a functor.

I need to fix the tests so they compile however. Tomorrow's job!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant