コード例 #1
0
ファイル: epg.c プロジェクト: BackupTheBerlios/macvdr-svn
void cSchedule::Cleanup(time_t Time)
{
  cEvent *Event;
  while ((Event = events.First()) != NULL) {
        if (!Event->HasTimer() && Event->EndTime() + Setup.EPGLinger * 60 + 3600 < Time) // adding one hour for safety
           DelEvent(Event);
        else
           break;
        }
}
コード例 #2
0
void    OSEventThread::uninit_wakeuper(){
    DelEvent(&mWakeupFdEvent);
#if __Win32__ && defined(USE_SOCKET_PAIR) 
    closesocket(mFdWakeupRead);
    closesocket(mFdWakeupWrite);
#else
    close(mFdWakeupRead);
    close(mFdWakeupWrite);
#endif

    mFdWakeupRead = -1;
    mFdWakeupWrite= -1;
}
コード例 #3
0
ファイル: g_log.c プロジェクト: GLolol/omega-services
void Module_Close()
{
	//unset all LOGGING params cause we are bailing.
	logcmds = 0; lognicks = 0; logclients = 0; logchannels = 0;
	
	DelEvent ("USERCONN", evh_glogcon);
	DelEvent ("USEREXIT", evh_glogexit);
	DelEvent ("USERNICK", evh_glognick);
	DelEvent ("CHANJOIN", evh_glogjoin);
	DelEvent ("CHANPART", evh_glogpart);
	DelEvent ("CHANKICK", evh_glogkick);
	DelEvent ("REHASH", evn_glogrehash);
	

}
コード例 #4
0
ファイル: epg.c プロジェクト: flensrocker/vdr
void cSchedule::DropOutdated(time_t SegmentStart, time_t SegmentEnd, uchar TableID, uchar Version)
{
  if (SegmentStart > 0 && SegmentEnd > 0) {
     cEvent *p = events.First();
     while (p) {
           cEvent *n = events.Next(p);
           if (p->EndTime() > SegmentStart) {
              if (p->StartTime() < SegmentEnd) {
                 // The event overlaps with the given time segment.
                 if (p->TableID() > TableID || p->TableID() == TableID && p->Version() != Version) {
                    // The segment overwrites all events from tables with higher ids, and
                    // within the same table id all events must have the same version.
                    DelEvent(p);
                    }
                 }
              else
                 break;
              }
           p = n;
           }
     }
}