andromedarabbit / earlgrey

High performance online gaming server engine.
2 stars 1 forks source link

IRunnable의 메모리가 해제되지 않음 #40

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
r315 를 빌드해서 돌려보면 ExecuterTest 단위테스트 세개가 깨짐

모두 IRunnable의 소멸자가 불리지 않아서 생기는 문제이며, 
스마트 포인터를 잘못 
사용한 걸로 추정됨

Original issue reported on code.google.com by kaistizen on 13 Dec 2009 at 5:24

GoogleCodeExporter commented 9 years ago
queue 로 runnable shared_ptr member 를 넘기면 queue header entry 때문에 
지워지지 않는 
게 하나 있어서 그럴 수 있어요. 이거 전엔 destructor 를 강제 
호출해서 없애는데. 현재 구
조에서는 좀 문제가 될수 있네요. 

Original comment by joe.j...@gmail.com on 13 Dec 2009 at 5:50

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r316.

to thread execute 에서 CurrentThread 와 threadId 가 같다고 iocp queue 
넣으면
어디로 갈지 모른다는..무조건 threadtask queue 에 넣어야 할듯.

Original comment by joe.j...@gmail.com on 13 Dec 2009 at 6:12

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r317.

ExecutorTaskRunnerInvoker 추가

Original comment by joe.j...@gmail.com on 13 Dec 2009 at 6:25

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r318.

ExecutorTaskRunnerInvoker 추가

Original comment by joe.j...@gmail.com on 13 Dec 2009 at 6:28