int main() { // Создаем нить таймера. std::auto_ptr< so_4::timer_thread::timer_thread_t > timer_ptr( so_4::timer_thread::simple::create_timer_thread() ); // Создаем диспетчер. std::auto_ptr< so_4::rt::dispatcher_t > disp_ptr( so_4::disp::one_thread::create_disp( *timer_ptr ) ); ... // Объект диспетчер и объект таймер будут уничтожены // автоматически при выходе из main(). }
В версии 4.2.6 добавлена функция so_4::api::start(), в которой можно указать, должен ли диспетчер уничтожаться перед возвратом из функции start(). Это позволяет переписать приведенный выше пример следующим образом (см. также so_4: Версия 4.2.6. Автоматическое уничтожение таймера диспетчером):
int main() { // Объект диспетчер и объект таймер будут уничтожены // автоматически при выходе из start(). so_4::ret_code_t rc = so_4::api::start( // Диспетчер будет уничтожен при выходе из start(). so_4::disp::one_thread::create_disp( // Таймер будет уничтожен диспетчером. so_4::timer_thread::simple::create_timer_thread(), so_4::auto_destroy_timer ), so_4::auto_destroy_disp, &a_coop ); if( rc ) { ... } }
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:48 2008. Создано системой 1.5.6 |