| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Создание потока в службе |
| Автор: DriveIS 20.1.2008, 18:17 |
| Создал службу, установил ее, все нормально работает. Но вот понадобилось мне создать дополнительный поток - попытался создать его с помощью CreateThread. Но теперь служба запускается и тут же завершается и scm мне пишет: <Служба Х на Локальный компьютер была запущена и затем остановлена...> В чем дело может быть? |
| Автор: NiJazz 20.1.2008, 22:46 |
| Перед вызовом CreateThread сделай Sleep, чтобы приконнектиться отладчиком, а там смотри, что происходит. |
| Автор: DriveIS 21.1.2008, 07:22 |
| CreateThread заменил на _beginthread и все нормально заработало? И в чем же здесь гвоздь? |
| Автор: dumb 21.1.2008, 08:00 |
| если такая замена помогла, то, вероятно, сервис завершался из-за "падения" вследствие конфликта при работе менеджера памяти, т.к. он не был настроен на многопоточную работу. |
| Автор: NiJazz 21.1.2008, 09:26 |
| DriveIS, в функции потока использовал CRT? |
| Автор: DriveIS 21.1.2008, 11:17 |
| dumb, а что понимать под правильной настройкой менеджера памяти??? NiJazz, в функции потока - работа с сокетами: accept в т.ч. |
| Автор: DriveIS 22.1.2008, 10:01 |
| Млин... нашел ошибку, глупейшую, не касается не в коей мере потоков. Счас все работает и с CreateThread. Всем спасибо. |
| Автор: NiJazz 22.1.2008, 17:26 |
| Так расскажи, в чём ошибка была. |