Skip to content
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

A proof of concept direct io implementation. #711

Closed
wants to merge 1 commit into from
Closed

A proof of concept direct io implementation. #711

wants to merge 1 commit into from

Conversation

jpakkane
Copy link

This is a proof of concept patch to make it possible to tag certain rules as direct io. This causes Ninja to print the output immediately rather than buffering it. For deep rationale see issue 545. Not buffering io is useful when running a slow running command that is not run in parallel with any other build rule. The two canonical examples are running a unit test suite and regenerating build files.

This patch is just a proof of concept, it should not be merged as is. It only patches the posix side, stores the output inside itself even though it is not used, and so on. It works by adding a new variable for rules called directio. If set to 1, Ninja will print the output on screen immediately. It is the responsibility of the Ninja file generator to ensure that only one directio rule is invoked at a time (or suffer the consequences of interleaved output).

@buildhive
Copy link

Evan Martin » ninja #684 SUCCESS
This pull request looks good
(what's this?)

@nicolasdespres
Copy link
Contributor

See #629.

@jpakkane
Copy link
Author

Yes, this is a different way of achieving quite similar end results.

@nico
Copy link
Collaborator

nico commented Jan 27, 2014

@pcc was working on a pool = console thingy that supported this use case (and interactive input) too. Not sure what the status of that is.

@pcc
Copy link
Contributor

pcc commented Jan 30, 2014

This is pull request #714.

@jpakkane
Copy link
Author

That seems like the proper way of solving this problem.

@evmar
Copy link
Collaborator

evmar commented Nov 23, 2014

This is obsolete, right?

@evmar evmar closed this Nov 23, 2014
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.

6 participants