X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FScheduler.test.cc;h=104268b2f9ec0cec74cba8df3c003ae81828981a;hb=5ab3b3755f33d1d341ccca687810ceb818d09e95;hp=fb5ae3590bfed5b5a81bae7ab2825137f7031ba2;hpb=c52cd7d87dbb525c1267aad27391b8b7365dbb57;p=senf.git diff --git a/Scheduler/Scheduler.test.cc b/Scheduler/Scheduler.test.cc index fb5ae35..104268b 100644 --- a/Scheduler/Scheduler.test.cc +++ b/Scheduler/Scheduler.test.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2006 +// Copyright (C) 2006 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) // Kompetenzzentrum fuer Satelitenkommunikation (SatCom) // Stefan Bund @@ -44,12 +44,12 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -using namespace satcom::lib; +using namespace senf; namespace { - + char const * SOCK_PATH = "/tmp/sched_test.sock"; - + void error(char const * fn, char const * proc="") { std::cerr << "\n" << proc << fn << ": " << strerror(errno) << std::endl; @@ -107,7 +107,7 @@ namespace { error("fork"); return 0; } - + sleep(1); // Wait for the server socket to be opened return pid; } @@ -143,7 +143,7 @@ namespace { void callback(int fd, Scheduler::EventId ev) { event = ev; - switch (event) { + switch (event & Scheduler::EV_ALL) { case Scheduler::EV_READ: size = recv(fd,buffer,1024,0); break; @@ -155,15 +155,15 @@ namespace { size = write(fd,buffer,size); Scheduler::instance().terminate(); break; - case Scheduler::EV_HUP: - case Scheduler::EV_ERR: - case Scheduler::EV_NONE: - case Scheduler::EV_ALL: - ; } Scheduler::instance().terminate(); } - + + void timeout() + { + Scheduler::instance().terminate(); + } + struct HandleWrapper { HandleWrapper(int fd,std::string const & tag) : fd_(fd), tag_(tag) {} @@ -182,6 +182,12 @@ namespace { return; callback(handle.fd_,event); } + + bool is_close(MicroTime a, MicroTime b) + { + return (a