[질문] fork로 생성한 child process 에서 strtok사용

colorcat의 이미지

에 초보적인 질문이지만

책에서 보면 thread에서는 strtok함수를 사용할 시에
문제가 발생할 수도 있다.. 고 하던데요..

그럼 Process를 생성해서 child를 생성해서
child에서 strtok를 사용해도 같은 에러가 발생할까요..

???

IsExist의 이미지

strtok 가 내부 static local 변수를 사용하는 문제가 있습니다.
스레드인 경우 문제가 되지만 프로세스인 경우 문제가 되지는 않습니다.

스레드용으로는 strtok_r 이라는 함수가 있습니다.

---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

kicom95의 이미지

strtok_r 를 꼭 쓰레드에서 쓰는 것은 아니구요

fork 를 사용하더라구.... strtok_r 을 습관화 하시는게 좋을듯 합니다.

strtok()

while()
{

A(); ---> 이 함수에서 다시 strtok 를 쓰면 문제입니다.
쓰레드가 아니더라두..

strtok()
}

가자 해외로 ~ .. 돈 벌러.