Skip to content

Conversation

@gbaraldi
Copy link
Member

No description provided.

@Keno
Copy link
Member

Keno commented Nov 26, 2025

Seems potentially dangerous if this is not ordered with respect to writes. Is there a julia issue this fixes?

@vtjnash
Copy link
Member

vtjnash commented Nov 26, 2025

We're changing read parameters since we have the read side of the stream. We should not be adding a synchronization point with writers here, which might not even be our process.

@gbaraldi
Copy link
Member Author

Kinda, on my PR that enables try_write that drain causes deadlocks libuv#4944

@Keno
Copy link
Member

Keno commented Nov 26, 2025

      tmp.c_oflag |= (ONLCR);

looks like an output flag to me

@vtjnash
Copy link
Member

vtjnash commented Nov 26, 2025

UV_TTY_MODE_RAW is deprecated because it was implemented wrong. Only nodejs should be still using that (since they never fix bugs)

@vtjnash
Copy link
Member

vtjnash commented Nov 26, 2025

no, you're misreading that flag name (added in libuv#4688)

@Keno
Copy link
Member

Keno commented Nov 26, 2025

See the second link I posted

@vtjnash
Copy link
Member

vtjnash commented Nov 26, 2025

Well, we are apparently very bad at writing software too
JuliaAttic/libuv-archive#27 (comment)

thanks for the heads up. when we rebase again to follow upstream's v1.0, we'll need to remember to switch our flag to use enum value 2.

@vtjnash
Copy link
Member

vtjnash commented Nov 26, 2025

Anyways, libuv is forbidden from running any blocking calls (especially IO) such as TCSADRAIN. If it wants to implement tcdrain because a user wants to call that, it needs to do that in the threadpool.

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.

3 participants