"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/edio/sigeventdispatcher.h" between
openlitespeed-1.5.6.src.tgz and openlitespeed-1.6.0.src.tgz

About: OpenLiteSpeed is a high-performance, lightweight HTTP server with optional HTTP/2 support (open sourve version of the commercial LiteSpeed Web Server). Sources.

sigeventdispatcher.h  (openlitespeed-1.5.6.src.tgz):sigeventdispatcher.h  (openlitespeed-1.6.0.src.tgz)
/***************************************************************************** /*****************************************************************************
* Open LiteSpeed is an open source HTTP server. * * Open LiteSpeed is an open source HTTP server. *
* Copyright (C) 2013 - 2018 LiteSpeed Technologies, Inc. * * Copyright (C) 2013 - 2017 LiteSpeed Technologies, Inc. *
* * * *
* This program is free software: you can redistribute it and/or modify * * This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by * * it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or * * the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program. If not, see http://www.gnu.org/licenses/. * * along with this program. If not, see http://www.gnu.org/licenses/. *
*****************************************************************************/ *****************************************************************************/
#ifndef SIGEVENTDISPATCHER_H #ifndef SIGEVENTDISPATCHER_H
#define SIGEVENTDISPATCHER_H #define SIGEVENTDISPATCHER_H
#include <edio/aioeventhandler.h>
#include <edio/eventreactor.h> #include <edio/eventreactor.h>
#include <util/tsingleton.h>
#include <signal.h> #include <signal.h>
#if !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
#define HS_AIO (SIGRTMIN + 4)
#define LS_HAS_RTSIG
#endif
typedef void (*sigevthdlr_t)(int, void *);
#define SIG_EVT_HANDLER ((sigevthdlr_t)-1)
struct SigEvtHdlrInfo;
class SigEventDispatcher : public EventReactor class SigEventDispatcher : public EventReactor
, public TSingleton<SigEventDispatcher>
{ {
#if defined(LS_AIO_USE_SIGFD) || defined(LS_AIO_USE_SIGNAL) friend class TSingleton<SigEventDispatcher>;
#if defined(LS_HAS_RTSIG)
private: private:
short m_rtsigmin;
short m_rtsigcnt;
short m_rtsignext;
short m_flag;
long m_mergeable;
sigset_t m_sigset;
SigEvtHdlrInfo *m_rtsig_hdlrs;
SigEventDispatcher();
explicit SigEventDispatcher(sigset_t *ss);
SigEventDispatcher(const SigEventDispatcher &other); SigEventDispatcher(const SigEventDispatcher &other);
~SigEventDispatcher() {} ~SigEventDispatcher() {}
SigEventDispatcher &operator=(const SigEventDispatcher *rhs); SigEventDispatcher &operator=(const SigEventDispatcher *rhs);
int nextRtsig();
public: public:
static int processSigEvent(); int processSigEvent();
static int init(); int registerRtsig(sigevthdlr_t hdlr, void *param, bool merge = false);
int beginWatch();
#endif //defined(LS_HAS_RTSIG)
virtual int handleEvents(short event); virtual int handleEvents(short event);
#elif defined(LS_AIO_USE_KQ)
public:
static void setAiokoLoaded();
static short aiokoIsLoaded();
#endif // defined(LS_AIO_USE_SIGFD) || defined(LS_AIO_USE_SIGNAL)
}; };
#endif //SIGEVENTDISPATCHER_H #endif //SIGEVENTDISPATCHER_H
 End of changes. 12 change blocks. 
11 lines changed or deleted 30 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)