|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 14, 2004 15:00:06 · Поправил: prog Вопрос наверное глупый.. Можно както грохнуть исполняющийся в трэде WriteFile(один и долгий)? Идет запись в файл, а мне надобы срочно выйти из программы. |
|
|
Дата: Апр 14, 2004 16:51:55 Заводить в отдельном треде и грохать тред. Убить WriteFile из текущего потока не получится просто потому, что он не вернется, пока не допишет файл. |
|
|
Дата: Апр 14, 2004 16:57:42 · Поправил: prog Если грохнуть трэд в котором выполняется WriteFile, то ничто гденидь не покривеет? Если грохать TerminateThread, то написано-же: TerminateThread is a dangerous function that should only be used in the most extreme cases. You should call TerminateThread only if you know exactly what the target thread is doing, and you control all of the code that the target thread could possibly be running at the time of the termination. ... |
|
|
Дата: Апр 14, 2004 17:03:08 Если нужно срочно, то это как раз тот extreme case. А не лучше разбить запись на много маленьких медвежат? |
|
|
Дата: Апр 14, 2004 17:13:22 · Поправил: prog Дык.. нужно-то срочно, но военной угрозы-то никакой нет. Просто нужно закрыть корректно программу, а там в трэде еще работает WriteFile. И ждать пока он там закончит не нужно. Разбить на несколько кусков запись нельзя. Может можно какуюнидь Message комунибудь послать... примерно как PurgeComm... |
|
|
Дата: Апр 14, 2004 19:24:40 Привет! Конечно, не уверен, т.к. сам не пробовал, но в MSDN так: вызываем асинхронно WriteFileEx, а затем, if чё произошло, то "To cancel all pending asynchronous I/O operations, use the CancelIo function. This function only cancels operations issued by the calling thread for the specified file handle. I/O operations that are canceled complete with the error ERROR_OPERATION_ABORTED." короче, BOOL CancelIo( HANDLE hFile ); |
|
|
Дата: Апр 14, 2004 22:14:54 Для работы с файлами есть асинхронные процедуры. |
|
|
Дата: Апр 15, 2004 10:46:31 Асинхронные хотел не использовать. Но если без них это дело не решить, то, наверное, придется. Спасибо! |
|
|
Дата: Апр 16, 2004 03:12:35 prog А что тут такого? Ведь диспетчер задач и еще с полтыщи других программ именно так и грохает. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.130 |