-
Notifications
You must be signed in to change notification settings - Fork 50
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
libsubprocess: increase priority of output check watcher #6302
Comments
This is just something to try to clean things up before we do real flow control in this direction. My prototype priority setter is here: 1932ce5 Just call That should raise the priority from the default of 0 to 1. if that doesn't work try 2 :-) 2 is the max. It has to be called before the watcher is started. |
it appears to do what we want it to do. some debug printfs before
asterisks lines show that we call the output callback in the output buffered function and later the check output function after
asterisks lines show that we call the output callback in the check callback both times. the XXX lines show that output is re-added to the buffer after the check and we've started a new prep iteration. |
Problem: If a output buffer is full, we issue an emergency call to the user's output callback to empty the buffer before more data is put in it. This is done because we cannot control the order in which check callbacks are called. Now that check callbacks can have priority set, we can ensure output check callbacks are called first before a check callback that may put more data in the buffer. Set the priority of the output check watcher higher than the default. Remove the now unnecessary emergency callback to the user's output callback. Fixes flux-framework#6302
Problem: If a output buffer is full, we issue an emergency call to the user's output callback to empty the buffer before more data is put in it. This is done because we cannot control the order in which check callbacks are called. Now that check callbacks can have priority set, we can ensure output check callbacks are called first before a check callback that may put more data in the buffer. Set the priority of the output check watcher higher than the default. Remove the now unnecessary emergency callback to the user's output callback. Fixes flux-framework#6302
Problem: If a output buffer is full, we issue an emergency call to the user's output callback to empty the buffer before more data is put in it. This is done because we cannot control the order in which check callbacks are called. Now that check callbacks can have priority set, we can ensure output check callbacks are called first before a check callback that may put more data in the buffer. Set the priority of the output check watcher higher than the default. Remove the now unnecessary emergency callback to the user's output callback. Fixes flux-framework#6302
per conversation in #6281, consider raising the priority of the output check watcher. This can ensure that a user has a chance to empty a full buffer before more data is put into the buffer.
The text was updated successfully, but these errors were encountered: