X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FScheduler.test.cc;h=8d6a53f1c3a1158ce517aba25052943a1cb63afc;hb=054f407988120bf96b648ad61068073e22db4f00;hp=e270b060374a306ad02ca70b9b7761556fc24661;hpb=ac90835cbb00ca83a51ab9efb23fdcb75518e808;p=senf.git diff --git a/Scheduler/Scheduler.test.cc b/Scheduler/Scheduler.test.cc index e270b06..8d6a53f 100644 --- a/Scheduler/Scheduler.test.cc +++ b/Scheduler/Scheduler.test.cc @@ -1,4 +1,3 @@ - // $Id$ // // Copyright (C) 2006 @@ -102,6 +101,7 @@ namespace { unlink(SOCK_PATH); int pid = fork(); if (pid == 0) { + signal(SIGCHLD, SIG_IGN); server(); _exit(0); } @@ -109,6 +109,7 @@ namespace { error("fork"); return 0; } + signal(SIGCHLD, SIG_DFL); sleep(1); // Wait for the server socket to be opened return pid; @@ -212,6 +213,12 @@ namespace { senf::scheduler::terminate(); } + unsigned eventCount (0); + + void eventeventhandler() + { + ++ eventCount; + } } BOOST_AUTO_UNIT_TEST(testScheduler) @@ -236,6 +243,9 @@ BOOST_AUTO_UNIT_TEST(testScheduler) /////////////////////////////////////////////////////////////////////////// + senf::scheduler::EventHook evev ("eventCounter", eventeventhandler, true, + senf::scheduler::EventHook::PRE); + { senf::scheduler::FdEvent fde1 ("testFdEvent", boost::bind(&callback, sock, _1), sock, senf::scheduler::FdEvent::EV_READ); @@ -307,6 +317,8 @@ BOOST_AUTO_UNIT_TEST(testScheduler) BOOST_CHECK_NO_THROW( senf::scheduler::process() ); } + BOOST_CHECK( eventCount >= 8u ); + /////////////////////////////////////////////////////////////////////////// close(sock);