Le 20/11/2012 13:31, Alexandre Julliard a écrit :
Eric Pouech <eric.pouech@orange.fr> writes:

That doesn't look right. There's no guarantee that the handle is for the
current process console.
in fact, it's guaranted, because we check before (in the function
calling this helper) that the handle is really a console handler and
that it's in bare mode
one could make it clearer by adding a comment to the helper function
saying that those two conditions are met
That doesn't guarantee that it's the process console, console handles
can be passed across processes.

yes, but the base console code is already broken wrt this point (we use the current process' console wait
object instead of the wait object of the passed console)

potential solutions ?
- extending the server calls to support this behavior would  break rights enforcement. not good IMO.
- seperate the process to read input from fd(0) and the current running process
       (hence ensuring that we get the correct rights for writing)
       this is what we do with wineconsole (for other backends). moving bare console to wineconsole
       could also other benefits, as ensuring that the process controling the unix console doesn't
       die until the last wine process using it dies (and resetting the terminal control at exit)
- any other ideas ?

A+