не знаю как так вышло :) но б,лин, не проблема - не мой код в любом случае , не мой мопед, поправить не сложно - на работу его не влияет , думаю компилятор это и так поправил
в те времена в с++ строки были с рефкаунтом и даже простая операция взятия символа могла приводить к де-шарингу, что в мультитредовой среде было жестью, хотя сами данные не менялись и были константными
ну 17 лет точно даром не проходят,, просто "проблема" с доступом и шарой данных между потоками , а не кода - он разный может быть :) ядра могут разный код - то есть не связано с "одна точка входа" или нет у них была и они выполняют "один код" - не важно