[Guido] > I'd just like to note for the record that this is exactly what I had > predicted. I would have hoped you'd be content to let the record speak for itself <wink>. > I'd also like to note that I *agree*. With what? That the program is undefined by the C std was never in dispute. > Tim seems to think there's a race condition in the threading code, > but it's really much simpler than that: the same bug can easily be > provoked with a single-threaded program: just randomly read and > write alternatingly. And this is a point in their favor?! "It's OK that the MT library corrupts itself, because even the single-threaded library does"? > So obviously the people who wrote the threading code aren't interested > in the bug, I don't know that it ever got as far as the people who wrote the threading code, but I sure doubt it: when the reply starts "Turns out the C standard explicitly says ...", it strongly suggests it was written by someone who didn't already know what the C std says, and went looking for an excuse to get it off their plate without further effort. Par for the course, if so. > because it's not in their code -- and the people who wrote the code > that doesn't behave well when abused are protected by the C standard... The behavior of things designated "undefined" and "implementation-defined" by the std fall under "quality of implementation". In the real world, the latter is what vendors compete on; meeting the letter of the std is a bare minimum for playing the game at all. The plain fact is that their library is less robust than others in this case. I worked on a multithreaded stdio implementation at KSR, and that sure couldn't corrupt itself. Looks like no flavor of Linux does either. It's not *reasonable* for a library to corrupt itself in this case, although it's certainly reasonable for its behavior to vary from run to run. There's nothing in the C std that says a conforming implementation can't *crash* on the program void main() {int i = 1;} either <wink>. a-std-is-a-floor-on-acceptable-behavior-not-a-ceiling-ly y'rs - tim
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4