> Gavriel State wrote: > > > > Josh DuBois wrote: > > > > > > > Is there really any reason not to just use pthread directly? We're > > not constrained by binary compatability issues on LinuxPPC > (or MacOS X), > > so there's no need to preserve any special registers. > > > > <newbie> > > Well, really I don't know. In a way I hope not;), 'cause I've been > assuming pthreads is no good, but I could be wrong. > > In a discussion about threading in November (I pasted in part of an > interesting post down below) on this list someone gave a brief > explanation of why pthreads aren't used. From things like that that > I've found on the archive I assumed pthreads wasn't feasible. Using pthread on Intel will probably not be a good idea. This is because of compatibillity reasons and the fact that we want to avoid having different libraries for Winelib and Wine, that is we want Wine to be just a normal Winelib application without any strange hacks. Non-Intel is an entirely different matter and need to be seen from a different perspective. Nether the less we should keep in mind that we might implement x86 CPU emulation sometime in the future, however I don't think it from that perspective will do much (if any) difference if we use pthreads or not. > It seems > that if pthreads won't allow variable-sized stacks that'd be a > showstopper if Windows requires them, whether we were in binary > emulation mode or not. Since we are talking about WineLib, it is not really Windows that requires it, it is some applications that do. It is not totally unreasonable to say that if your application depend on variable-sized stacks you can't port in to non-Intel unless you fix that. > But I don't at all pretend to > understand all the > possible related issues. I do notice that pthreads don't seem to be > used on non-intel solaris. > > Can pthreads in fact be used on linuxppc? I'm not sure eventhough my instinct say it is, at the very least it IMO worth spending time examining really carefully if it is, since it would facillitate a lot of things if possible.