From: Alexandre F. <ale...@gm...> - 2009-09-07 20:30:29
|
On 9/7/09, Andreas Kupries <aku...@sh...> wrote: > > And the handling of std channels is one of the more convoluted parts, > not only with the naming, but also with their automatic sharing to > slave interps, and (IIRC maybe) even interps in other threads. I know > if have exceptions in the code for transfering channels between > threads to exclude the std channels from transfer, although I do not > recall the details of that. Oh, and they have this special reference > counting too, which I currently have no idea if it will be affected by > this change. I have looked a bit at those nasties, and they all depend on recognizing these channels by comparison with 3 channel pointers in the interp. So they are not affected by their names. Moreover, forcing a reopened file1 to be named stdout everywhere instead of in 50% of the code will only make it more recognizeable as a true stdout. So it irons out more than it wreaks. But anyway, please look at Jan's counter-proposal in the tracker comments. He suggests, instead, to forbid that unixish redirection idiom. Discussion continues there, please follow up. > So, in general I agree with the others that this a very risky move, and not a > good thing to do just before a release. Point taken. All of this for 8.7+. -Alex |