본문 바로가기

쓰기


제 추측이지만,

아랄트랜스의 플러그인 로드 시간은

(게임의) 프로세스 동작 -> 플러그인 로드 -> (게임의) 윈도우 생성

으로 매우 빠른것으로 보이며,


플러그인의 종료 시간은

(게임의) 윈도우 파괴 -> 플러그인 종료(?) -> (게임의) 프로세스 파괴

로, 윈도우 파괴보다 늦는것 같습니다.



이게 이유인지는 모르겠지만

플러그인이 초기화되자마자 쓰레드등을 초기화하면,
[그대로 굳어버리는] 현상이 나타납니다.

해결책으로
윈도우(또는 추가로 뜨게되는 다이얼로그)의 초기화나 작업의 개시 (필터의 초기작업) 지점에
쓰레드를 초기화하는 것으로 안정적으로 구동이 가능했습니다.
조회 수 :
7450
등록일 :
2009.01.07
22:07:36
엮인글 :
https://arallab.hided.net/3202/12d/trackback
게시글 주소 :
https://arallab.hided.net/board_documents/3202

아랄

2009.09.20
09:30:48

후킹플러그인 같은 경우는 어떤 지점을 후킹할 때

자신의 쓰레드를 제외한 모든 쓰레드를 멈추고 후킹 작업을 수행하긴 합니다만...

플러그인은 각각 순차적으로 로드되므로 위의 모든 쓰레드 정지 때문에 

쓰레드 동기화 문제가 발생한 것 같진 않네요.

 

멈추는 플러그인 소스를 한번 분석해 보고 싶어요.

문제가 발생하는 최소화 된 코드만 주시면 더욱 좋구요~ (간단히 쓰레드 초기화 하는 예제)

어쩌면 0.3으로 넘어가도 계속 발생할 수도 있기 때문에 ^^

 

Hide_D

2009.09.20
09:59:33

 일단 이글을 써놓고 나중에 확인해 보니,


클래스를 전역 클래스로 설정해두면서, 클래스의 생성 시점에 스레드를 초기화하기 때문인 것 같습니다.

이것에 대해서는 꼼수를 터득했으니 적용해보고 보고하겠습니다!

List of Articles
공지 [SVN] AralTrans 0.3 - All Plugins 6
아랄
10340   2009-10-23 2011-10-19 00:01
공지 [SVN] AralTrans 0.2 - Full Source 2
아랄
16054   2008-07-22 2010-10-31 01:18