From 78dc7915f89198b472b9e10ee532f9971bcc0ada Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 15 Feb 2018 05:42:11 +0100 Subject: migrating main parts of event loops --- src/lib/daemon_poll.h | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/lib/daemon_poll.h (limited to 'src/lib/daemon_poll.h') diff --git a/src/lib/daemon_poll.h b/src/lib/daemon_poll.h new file mode 100644 index 00000000..c5dbb88b --- /dev/null +++ b/src/lib/daemon_poll.h @@ -0,0 +1,71 @@ +/* + This file is part of libmicrohttpd + Copyright (C) 2007-2018 Daniel Pittman and Christian Grothoff + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +/** + * @file lib/daemon_poll.h + * @brief non-public functions provided by daemon_poll.c + * @author Christian Grothoff + */ +#ifndef DAEMON_POLL_H +#define DAEMON_POLL_H + + +#ifdef HAVE_POLL +/** + * Process all of our connections and possibly the server + * socket using poll(). + * + * @param daemon daemon to run poll loop for + * @param may_block #MHD_YES if blocking, #MHD_NO if non-blocking + * @return #MHD_SC_OK on success + */ +enum MHD_StatusCode +MHD_daemon_poll_all_ (struct MHD_Daemon *daemon, + bool may_block) + MHD_NONNULL(1); + + +/** + * Process only the listen socket using poll(). + * + * @param daemon daemon to run poll loop for + * @param may_block true if blocking, false if non-blocking + * @return #MHD_SC_OK on success + */ +enum MHD_StatusCode +MHD_daemon_poll_listen_socket_ (struct MHD_Daemon *daemon, + bool may_block) + MHD_NONNULL (1); + + +/** + * Do poll()-based processing. + * + * @param daemon daemon to run poll()-loop for + * @param may_block #MHD_YES if blocking, #MHD_NO if non-blocking + * @return #MHD_SC_OK on success + */ +enum MHD_StatusCode +MHD_daemon_poll_ (struct MHD_Daemon *daemon, + bool may_block) + MHD_NONNULL (1); +#endif + + +#endif -- cgit v1.2.3