многопоточный tcp port mapper под windows
Добавлено: 20 окт 2010, 06:46
Пытаюсь написать сабж, для включения его в цепочку меж двух приложений и получения таким образом возможности прослушивать и писать в файл трафик localhost->localhost.
http://pastebin.com/SLWmcNf9
Однако, оно вылетает с исключением, когда несколько (хотя бы два) клиентов интенсивно общаются, и это связано, вроде бы, с записью в файлы (?). Но пишут-то потоки каждый в свой файлик, и непонятно, где могут быть конфликты.
Дамп Dr.Watson:
http://pastebin.com/4HrzAUYj
Буду благодарен за пинок в нужном направлении.
update:
Проблема решена. По всей видимости, функция fopen в windows не thread-safe. Замена на CreateFile + WriteFile + CloseHandle спасает ситуацию.
http://pastebin.com/SLWmcNf9
Однако, оно вылетает с исключением, когда несколько (хотя бы два) клиентов интенсивно общаются, и это связано, вроде бы, с записью в файлы (?). Но пишут-то потоки каждый в свой файлик, и непонятно, где могут быть конфликты.
Дамп Dr.Watson:
http://pastebin.com/4HrzAUYj
Буду благодарен за пинок в нужном направлении.
update:
Проблема решена. По всей видимости, функция fopen в windows не thread-safe. Замена на CreateFile + WriteFile + CloseHandle спасает ситуацию.