示例#1
0
/* Called when module is unloaded */
DLLFUNC int MOD_UNLOAD(m_htm)(int module_unload)
{
    if (del_Command(MSG_HTM, TOK_HTM, m_htm) < 0)
    {
        sendto_realops("Failed to delete commands when unloading %s",
                       MOD_HEADER(m_htm).name);
    }
#ifndef NO_FDLIST
    LockEventSystem();
    EventDel(e_lcf);
    EventDel(e_htmcalc);
    UnlockEventSystem();
#endif
    return MOD_SUCCESS;
}
示例#2
0
void DoEvents(void)
#endif
{
	Event *eventptr;
	Event temp;

	for (eventptr = events; eventptr; eventptr = eventptr->next)
	{
		if (eventptr->howmany == -1)
			goto freeit;
		if ((eventptr->every == 0) || ((TStime() - eventptr->last) >= eventptr->every))
		{
			eventptr->last = TStime();
			(*eventptr->event)(eventptr->data);
			if (eventptr->howmany > 0)
			{
				eventptr->howmany--;
				if (eventptr->howmany == 0)
				{
freeit:
					temp.next = EventDel(eventptr);
					eventptr = &temp;
					continue;
				}
			}
		}
	}
}
示例#3
0
int	channeldumper_Unload(int module_unload)
#endif
{
	tainted--;
	LockEventSystem();
	EventDel(ChannelDumpEvent);
	UnlockEventSystem();
	return MOD_SUCCESS;
}
void CPipeState_Listening::Unregister()
{
	if( !GetPipe()->m_pReactor )
		return;

#ifdef _WIN32
	EventDel();
#else
	EpollCtl(EPOLL_CTL_DEL,0);
#endif
}
示例#5
0
int SendData(int fd, int events, void *arg)
{
	struct myevent_s *ev = (struct myevent_s *)arg;
	int writeback = p_write_to_p(fd, "Hi this is server");
	ev->len = 0;
	EventDel(g_epollfd, ev);
	if(writeback > 0)
	{
		EventSet(ev, fd, RecvData, ev);
		EventAdd(g_epollfd, EPOLLIN|EPOLLET, ev);
	}
	else
	{
		close(ev->fd);
		printf("send error %s , fd %d\n", strerror(errno), fd );
	}
}
示例#6
0
int RecvData(int fd, int events, void *arg)
{
        struct myevent_s *ev = (struct myevent_s *)arg;
        int readback = p_read_from_p(fd);
        EventDel(g_epollfd, ev);
	if(readback > 0 )
	{
		ev->len = readback;
		EventSet(ev, fd, SendData, ev);
		EventAdd(g_epollfd, EPOLLOUT|EPOLLET, ev);
	}
	else if(readback == 0)
	{
		close(ev->fd);
		printf("close fd %d gracefully\n", fd);
	}
	else
	{
		close(ev->fd);
		printf("recv error %s  fd %d \n", strerror(errno), fd);
	}
	return readback;

}