3 ms·
Yes, if UNIX had supported multithreading from the start, there is no way they would have chosen "errno" as the solution. Obvious in hindsight, not so much in
by bodyfour 10y ago
Yes, if UNIX had supported multithreading from the start, there is no way they would have chosen "errno" as the solution.
Obvious in hindsight, not so much in the 1970s.
- PeCaN 10y agoSomehow VMS managed to avoid that same mistake in the 70s.
- 77pt77 10y agoI keep hearing that a lot! VMS sounds amazing, but somehow I'm still thinking this might be nostalgia.
- bogomipz 10y agoCan you elaborate on how "errno"'s design is rooted in the fact that there was no multithreading at the time? I am not understanding the connection. Thanks.
- lomnakkus 10y agoMultithreading usually means that threads share the address space and so can (inadvertently) stomp on each other's "errno". (Hence making it Thread-Local Storage to solve that issue. Doesn't solve the reentrancy issue, though.) If multithreading were pervasive nobody in their right mind would choose to use a global variable for error status codes.
- bogomipz 10y agoAh yes that makes sense. Thanks!