Actually fork does not create two threads it creates two processes which should "share memory" only in the "copy on write" sense. There is no undefined behavior implied here. When developers misunderstand the difference between thread and process boundaries (as in the case of the SQLite devs) things ca go to total shit real fast.
If you replace "Samsung" with Unix and "Sony" with Microsoft your other statements are correct. That's the problem.
If you replace "Samsung" with Unix and "Sony" with Microsoft your other statements are correct. That's the problem.