nio4r 2.3.1 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +8 -1
- data/.travis.yml +22 -29
- data/Gemfile +4 -5
- data/README.md +2 -1
- data/Rakefile +0 -2
- data/appveyor.yml +28 -15
- data/ext/libev/Changes +16 -0
- data/ext/libev/ev.c +105 -91
- data/ext/libev/ev.h +86 -80
- data/ext/libev/ev_epoll.c +1 -1
- data/ext/libev/ev_vars.h +2 -2
- data/ext/nio4r/nio4r.h +1 -1
- data/ext/nio4r/selector.c +5 -5
- data/lib/nio.rb +3 -3
- data/lib/nio/monitor.rb +10 -8
- data/lib/nio/selector.rb +3 -1
- data/lib/nio/version.rb +1 -1
- data/nio4r.gemspec +1 -1
- data/{tasks → rakelib}/extension.rake +2 -0
- data/{tasks → rakelib}/rspec.rake +0 -0
- data/{tasks → rakelib}/rubocop.rake +0 -0
- data/spec/nio/acceptables_spec.rb +3 -5
- data/spec/nio/bytebuffer_spec.rb +2 -3
- data/spec/nio/monitor_spec.rb +2 -2
- data/spec/nio/selectables/ssl_socket_spec.rb +47 -19
- data/spec/nio/selectables/tcp_socket_spec.rb +23 -17
- data/spec/nio/selectables/udp_socket_spec.rb +12 -7
- data/spec/nio/selector_spec.rb +11 -11
- data/spec/spec_helper.rb +4 -16
- data/spec/support/selectable_examples.rb +37 -17
- metadata +7 -10
- data/ext/libev/README.embed +0 -3
- data/ext/libev/test_libev_win32.c +0 -123
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93a1a241691b4115c57d823095030d46f36640184d6dc479ec0c46ac3e730d43
|
4
|
+
data.tar.gz: c0795ea1c7e4c3d9a0f6347ce69f3d937f0410618e80c217cc5c54c90bf44ddb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 289370e25ed8f9692699a493d7cae6dccb5a24db65af58053c094a529eac7e3a65b9581f7576e46661e02a4ef017defdd1ca3805a7e1e1db38025f4c62513e6e
|
7
|
+
data.tar.gz: 854804c274c63ef8590164ef733d2a538e004d744e13090b1c60ef0b070617e3a49d3c528d50da940c02855446e057e33674f97c121f73c0295e3ea0d96dcd54
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.3
|
3
3
|
DisplayCopNames: true
|
4
4
|
|
5
|
+
Layout/SpaceInsideBlockBraces:
|
6
|
+
Enabled: false
|
7
|
+
|
8
|
+
Style/IfUnlessModifier:
|
9
|
+
Enabled: false
|
10
|
+
|
5
11
|
#
|
6
12
|
# Lint
|
7
13
|
#
|
@@ -21,6 +27,7 @@ Metrics/AbcSize:
|
|
21
27
|
|
22
28
|
Metrics/BlockLength:
|
23
29
|
Max: 128
|
30
|
+
Enabled: false
|
24
31
|
|
25
32
|
Metrics/ClassLength:
|
26
33
|
Max: 128
|
data/.travis.yml
CHANGED
@@ -1,36 +1,29 @@
|
|
1
1
|
language: ruby
|
2
|
-
sudo: false
|
3
2
|
cache: bundler
|
4
|
-
|
5
|
-
before_install:
|
6
|
-
- gem update --system
|
7
|
-
- gem --version
|
8
|
-
|
3
|
+
dist: xenial
|
9
4
|
bundler_args: --without development
|
10
5
|
|
11
|
-
branches:
|
12
|
-
only:
|
13
|
-
- master
|
14
|
-
|
15
|
-
rvm:
|
16
|
-
- jruby-9.1.17.0 # latest stable
|
17
|
-
- 2.2.7
|
18
|
-
- 2.3.4
|
19
|
-
- 2.4.1
|
20
|
-
- 2.5.0
|
21
|
-
- ruby-head
|
22
|
-
|
23
|
-
env:
|
24
|
-
global:
|
25
|
-
- JRUBY_OPTS="--dev -J-Djruby.launch.inproc=true -J-Xmx1024M"
|
26
|
-
matrix:
|
27
|
-
- NIO4R_PURE=false
|
28
|
-
- NIO4R_PURE=true
|
29
|
-
|
30
6
|
matrix:
|
7
|
+
fast_finish: true
|
8
|
+
include:
|
9
|
+
- rvm: 2.3
|
10
|
+
- rvm: 2.4
|
11
|
+
- rvm: 2.5
|
12
|
+
- rvm: 2.6
|
13
|
+
env: NIO4R_PURE=true
|
14
|
+
- rvm: 2.6
|
15
|
+
- rvm: 2.6
|
16
|
+
os: osx
|
17
|
+
- rvm: truffleruby
|
18
|
+
- rvm: truffleruby
|
19
|
+
env: NIO4R_PURE=true
|
20
|
+
- rvm: jruby
|
21
|
+
env: JRUBY_OPTS="--debug -X+O --dev -J-Djruby.launch.inproc=true -J-Xmx1024M"
|
22
|
+
- rvm: jruby-head
|
23
|
+
env: JRUBY_OPTS="--debug -X+O --dev -J-Djruby.launch.inproc=true -J-Xmx1024M"
|
24
|
+
- rvm: ruby-head
|
31
25
|
allow_failures:
|
32
26
|
- rvm: ruby-head
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
irc: "irc.freenode.org#celluloid"
|
27
|
+
- rvm: truffleruby
|
28
|
+
- rvm: jruby-head
|
29
|
+
- rvm: jruby
|
data/Gemfile
CHANGED
@@ -8,13 +8,12 @@ gem "jruby-openssl" if defined? JRUBY_VERSION
|
|
8
8
|
|
9
9
|
group :development do
|
10
10
|
gem "guard-rspec", require: false
|
11
|
-
gem "pry",
|
11
|
+
gem "pry", require: false
|
12
12
|
end
|
13
13
|
|
14
14
|
group :development, :test do
|
15
|
-
gem "coveralls",
|
16
|
-
gem "rake-compiler",
|
17
|
-
gem "rspec", "~> 3.7",
|
18
|
-
gem "rspec-retry", require: false
|
15
|
+
gem "coveralls", require: false
|
16
|
+
gem "rake-compiler", require: false
|
17
|
+
gem "rspec", "~> 3.7", require: false
|
19
18
|
gem "rubocop", "0.52.1", require: false
|
20
19
|
end
|
data/README.md
CHANGED
data/Rakefile
CHANGED
data/appveyor.yml
CHANGED
@@ -1,27 +1,40 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
- master
|
1
|
+
build: off
|
2
|
+
deploy: off
|
4
3
|
|
5
4
|
environment:
|
6
|
-
PATH: C:\Ruby%RUBY_VERSION%\
|
5
|
+
PATH: C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
6
|
+
APPVEYOR_SAVE_CACHE_ON_ERROR: True
|
7
7
|
matrix:
|
8
|
-
- RUBY_VERSION:
|
9
|
-
- RUBY_VERSION:
|
10
|
-
- RUBY_VERSION:
|
11
|
-
- RUBY_VERSION:
|
8
|
+
- RUBY_VERSION: _trunk
|
9
|
+
- RUBY_VERSION: 26-x64
|
10
|
+
- RUBY_VERSION: 25-x64
|
11
|
+
- RUBY_VERSION: 24-x64
|
12
|
+
- RUBY_VERSION: 23-x64
|
13
|
+
- RUBY_VERSION: 23
|
14
|
+
|
15
|
+
init:
|
16
|
+
- ps: |
|
17
|
+
if ($env:RUBY_VERSION -eq '_trunk') {
|
18
|
+
$trunk_uri = 'https://ci.appveyor.com/api/projects/MSP-Greg/ruby-loco/artifacts/ruby_trunk.7z'
|
19
|
+
(New-Object Net.WebClient).DownloadFile($trunk_uri, 'C:\ruby_trunk.7z')
|
20
|
+
7z.exe x C:\ruby_trunk.7z -oC:\Ruby_trunk
|
21
|
+
}
|
12
22
|
|
13
23
|
install:
|
14
24
|
- SET RAKEOPT=-rdevkit
|
25
|
+
- gem update --system --conservative --no-document
|
15
26
|
- ruby -v
|
16
27
|
- gem -v
|
17
28
|
- bundle -v
|
18
|
-
- bundle install
|
19
|
-
|
20
|
-
build: off
|
21
|
-
|
22
|
-
before_build:
|
23
|
-
- gem update --system
|
29
|
+
- bundle install --path vendor\bundle --without development
|
24
30
|
|
25
31
|
test_script:
|
26
|
-
- echo %PATH%
|
27
32
|
- bundle exec rake spec
|
33
|
+
|
34
|
+
matrix:
|
35
|
+
allow_failures:
|
36
|
+
- RUBY_VERSION: _trunk
|
37
|
+
|
38
|
+
cache:
|
39
|
+
# If one of the files after the right arrow changes, cache will be invalidated
|
40
|
+
- vendor\bundle -> appveyor.yml, Gemfile, nio4r.gemspec
|
data/ext/libev/Changes
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
Revision history for libev, a high-performance and full-featured event loop.
|
2
2
|
|
3
|
+
4.25 Fri Dec 21 07:49:20 CET 2018
|
4
|
+
- INCOMPATIBLE CHANGE: EV_THROW was renamed to EV_NOEXCEPT
|
5
|
+
(EV_THROW sitll provided) and now uses noexcept on C++11 or newer.
|
6
|
+
- move the darwin select workaround highe rin ev.c, as newer versions of
|
7
|
+
darwin managed to break their broken select even more.
|
8
|
+
- ANDROID => __ANDROID__ (reported by enh@google.com).
|
9
|
+
- disable epoll_create1 on android because it has broken header files
|
10
|
+
and google is unwilling to fix them (reported by enh@google.com).
|
11
|
+
- avoid a minor compilation warning on win32.
|
12
|
+
- c++: remove deprecated dynamic throw() specifications.
|
13
|
+
- c++: improve the (unsupported) bad_loop exception class.
|
14
|
+
- backport perl ev_periodic example to C, untested.
|
15
|
+
- update libecb, biggets change is to include a memory fence
|
16
|
+
in ECB_MEMORY_FENCE_RELEASE on x86/amd64.
|
17
|
+
- minor autoconf/automake modernisation.
|
18
|
+
|
3
19
|
4.24 Wed Dec 28 05:19:55 CET 2016
|
4
20
|
- bump version to 4.24, as the release tarball inexplicably
|
5
21
|
didn't have the right version in ev.h, even though the cvs-tagged
|
data/ext/libev/ev.c
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libev event processing core, watcher management
|
3
3
|
*
|
4
|
-
* Copyright (c) 2007
|
4
|
+
* Copyright (c) 2007-2018 Marc Alexander Lehmann <libev@schmorp.de>
|
5
5
|
* All rights reserved.
|
6
6
|
*
|
7
7
|
* Redistribution and use in source and binary forms, with or without modifica-
|
@@ -40,6 +40,10 @@
|
|
40
40
|
/* ########## NIO4R PATCHERY HO! ########## */
|
41
41
|
#include "ruby.h"
|
42
42
|
#include "ruby/thread.h"
|
43
|
+
|
44
|
+
#ifdef __APPLE__
|
45
|
+
#include <AvailabilityMacros.h>
|
46
|
+
#endif
|
43
47
|
/* ######################################## */
|
44
48
|
|
45
49
|
/* this big block deduces configuration from config.h */
|
@@ -169,6 +173,16 @@
|
|
169
173
|
|
170
174
|
#endif
|
171
175
|
|
176
|
+
/* OS X, in its infinite idiocy, actually HARDCODES
|
177
|
+
* a limit of 1024 into their select. Where people have brains,
|
178
|
+
* OS X engineers apparently have a vacuum. Or maybe they were
|
179
|
+
* ordered to have a vacuum, or they do anything for money.
|
180
|
+
* This might help. Or not.
|
181
|
+
* Note that this must be defined early, as other include files
|
182
|
+
* will rely on this define as well.
|
183
|
+
*/
|
184
|
+
#define _DARWIN_UNLIMITED_SELECT 1
|
185
|
+
|
172
186
|
#include <stdlib.h>
|
173
187
|
#include <string.h>
|
174
188
|
#include <fcntl.h>
|
@@ -216,14 +230,6 @@
|
|
216
230
|
# undef EV_AVOID_STDIO
|
217
231
|
#endif
|
218
232
|
|
219
|
-
/* OS X, in its infinite idiocy, actually HARDCODES
|
220
|
-
* a limit of 1024 into their select. Where people have brains,
|
221
|
-
* OS X engineers apparently have a vacuum. Or maybe they were
|
222
|
-
* ordered to have a vacuum, or they do anything for money.
|
223
|
-
* This might help. Or not.
|
224
|
-
*/
|
225
|
-
#define _DARWIN_UNLIMITED_SELECT 1
|
226
|
-
|
227
233
|
/* this block tries to deduce configuration from header-defined symbols and defaults */
|
228
234
|
|
229
235
|
/* try to deduce the maximum number of signals on this platform */
|
@@ -370,7 +376,7 @@
|
|
370
376
|
# define EV_HEAP_CACHE_AT EV_FEATURE_DATA
|
371
377
|
#endif
|
372
378
|
|
373
|
-
#ifdef
|
379
|
+
#ifdef __ANDROID__
|
374
380
|
/* supposedly, android doesn't typedef fd_mask */
|
375
381
|
# undef EV_USE_SELECT
|
376
382
|
# define EV_USE_SELECT 0
|
@@ -614,6 +620,8 @@ struct signalfd_siginfo
|
|
614
620
|
|
615
621
|
#define ECB_CPP (__cplusplus+0)
|
616
622
|
#define ECB_CPP11 (__cplusplus >= 201103L)
|
623
|
+
#define ECB_CPP14 (__cplusplus >= 201402L)
|
624
|
+
#define ECB_CPP17 (__cplusplus >= 201703L)
|
617
625
|
|
618
626
|
#if ECB_CPP
|
619
627
|
#define ECB_C 0
|
@@ -625,6 +633,7 @@ struct signalfd_siginfo
|
|
625
633
|
|
626
634
|
#define ECB_C99 (ECB_STDC_VERSION >= 199901L)
|
627
635
|
#define ECB_C11 (ECB_STDC_VERSION >= 201112L)
|
636
|
+
#define ECB_C17 (ECB_STDC_VERSION >= 201710L)
|
628
637
|
|
629
638
|
#if ECB_CPP
|
630
639
|
#define ECB_EXTERN_C extern "C"
|
@@ -663,11 +672,11 @@ struct signalfd_siginfo
|
|
663
672
|
#if __i386 || __i386__
|
664
673
|
#define ECB_MEMORY_FENCE __asm__ __volatile__ ("lock; orb $0, -1(%%esp)" : : : "memory")
|
665
674
|
#define ECB_MEMORY_FENCE_ACQUIRE __asm__ __volatile__ ("" : : : "memory")
|
666
|
-
#define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("")
|
675
|
+
#define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("" : : : "memory")
|
667
676
|
#elif ECB_GCC_AMD64
|
668
677
|
#define ECB_MEMORY_FENCE __asm__ __volatile__ ("mfence" : : : "memory")
|
669
678
|
#define ECB_MEMORY_FENCE_ACQUIRE __asm__ __volatile__ ("" : : : "memory")
|
670
|
-
#define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("")
|
679
|
+
#define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("" : : : "memory")
|
671
680
|
#elif __powerpc__ || __ppc__ || __powerpc64__ || __ppc64__
|
672
681
|
#define ECB_MEMORY_FENCE __asm__ __volatile__ ("sync" : : : "memory")
|
673
682
|
#elif defined __ARM_ARCH_2__ \
|
@@ -1682,11 +1691,11 @@ ev_printerr (const char *msg)
|
|
1682
1691
|
}
|
1683
1692
|
#endif
|
1684
1693
|
|
1685
|
-
static void (*syserr_cb)(const char *msg)
|
1694
|
+
static void (*syserr_cb)(const char *msg) EV_NOEXCEPT;
|
1686
1695
|
|
1687
1696
|
ecb_cold
|
1688
1697
|
void
|
1689
|
-
ev_set_syserr_cb (void (*cb)(const char *msg)
|
1698
|
+
ev_set_syserr_cb (void (*cb)(const char *msg) EV_NOEXCEPT) EV_NOEXCEPT
|
1690
1699
|
{
|
1691
1700
|
syserr_cb = cb;
|
1692
1701
|
}
|
@@ -1715,7 +1724,7 @@ ev_syserr (const char *msg)
|
|
1715
1724
|
}
|
1716
1725
|
|
1717
1726
|
static void *
|
1718
|
-
ev_realloc_emul (void *ptr, long size)
|
1727
|
+
ev_realloc_emul (void *ptr, long size) EV_NOEXCEPT
|
1719
1728
|
{
|
1720
1729
|
/* some systems, notably openbsd and darwin, fail to properly
|
1721
1730
|
* implement realloc (x, 0) (as required by both ansi c-89 and
|
@@ -1731,11 +1740,11 @@ ev_realloc_emul (void *ptr, long size) EV_THROW
|
|
1731
1740
|
return 0;
|
1732
1741
|
}
|
1733
1742
|
|
1734
|
-
static void *(*alloc)(void *ptr, long size)
|
1743
|
+
static void *(*alloc)(void *ptr, long size) EV_NOEXCEPT = ev_realloc_emul;
|
1735
1744
|
|
1736
1745
|
ecb_cold
|
1737
1746
|
void
|
1738
|
-
ev_set_allocator (void *(*cb)(void *ptr, long size)
|
1747
|
+
ev_set_allocator (void *(*cb)(void *ptr, long size) EV_NOEXCEPT) EV_NOEXCEPT
|
1739
1748
|
{
|
1740
1749
|
alloc = cb;
|
1741
1750
|
}
|
@@ -1862,7 +1871,7 @@ typedef struct
|
|
1862
1871
|
|
1863
1872
|
#ifndef EV_HAVE_EV_TIME
|
1864
1873
|
ev_tstamp
|
1865
|
-
ev_time (void)
|
1874
|
+
ev_time (void) EV_NOEXCEPT
|
1866
1875
|
{
|
1867
1876
|
#if EV_USE_REALTIME
|
1868
1877
|
if (expect_true (have_realtime))
|
@@ -1896,14 +1905,14 @@ get_clock (void)
|
|
1896
1905
|
|
1897
1906
|
#if EV_MULTIPLICITY
|
1898
1907
|
ev_tstamp
|
1899
|
-
ev_now (EV_P)
|
1908
|
+
ev_now (EV_P) EV_NOEXCEPT
|
1900
1909
|
{
|
1901
1910
|
return ev_rt_now;
|
1902
1911
|
}
|
1903
1912
|
#endif
|
1904
1913
|
|
1905
1914
|
void
|
1906
|
-
ev_sleep (ev_tstamp delay)
|
1915
|
+
ev_sleep (ev_tstamp delay) EV_NOEXCEPT
|
1907
1916
|
{
|
1908
1917
|
if (delay > 0.)
|
1909
1918
|
{
|
@@ -1913,6 +1922,8 @@ ev_sleep (ev_tstamp delay) EV_THROW
|
|
1913
1922
|
EV_TS_SET (ts, delay);
|
1914
1923
|
nanosleep (&ts, 0);
|
1915
1924
|
#elif defined _WIN32
|
1925
|
+
/* maybe this should round up, as ms is very low resolution */
|
1926
|
+
/* compared to select (µs) or nanosleep (ns) */
|
1916
1927
|
Sleep ((unsigned long)(delay * 1e3));
|
1917
1928
|
#else
|
1918
1929
|
struct timeval tv;
|
@@ -1997,7 +2008,7 @@ pendingcb (EV_P_ ev_prepare *w, int revents)
|
|
1997
2008
|
|
1998
2009
|
noinline
|
1999
2010
|
void
|
2000
|
-
ev_feed_event (EV_P_ void *w, int revents)
|
2011
|
+
ev_feed_event (EV_P_ void *w, int revents) EV_NOEXCEPT
|
2001
2012
|
{
|
2002
2013
|
W w_ = (W)w;
|
2003
2014
|
int pri = ABSPRI (w_);
|
@@ -2068,7 +2079,7 @@ fd_event (EV_P_ int fd, int revents)
|
|
2068
2079
|
}
|
2069
2080
|
|
2070
2081
|
void
|
2071
|
-
ev_feed_fd_event (EV_P_ int fd, int revents)
|
2082
|
+
ev_feed_fd_event (EV_P_ int fd, int revents) EV_NOEXCEPT
|
2072
2083
|
{
|
2073
2084
|
if (fd >= 0 && fd < anfdmax)
|
2074
2085
|
fd_event_nocheck (EV_A_ fd, revents);
|
@@ -2478,7 +2489,7 @@ evpipe_write (EV_P_ EV_ATOMIC_T *flag)
|
|
2478
2489
|
#ifdef _WIN32
|
2479
2490
|
WSABUF buf;
|
2480
2491
|
DWORD sent;
|
2481
|
-
buf.buf = &buf;
|
2492
|
+
buf.buf = (char *)&buf;
|
2482
2493
|
buf.len = 1;
|
2483
2494
|
WSASend (EV_FD_TO_WIN32_HANDLE (evpipe [1]), &buf, 1, &sent, 0, 0, 0);
|
2484
2495
|
#else
|
@@ -2560,7 +2571,7 @@ pipecb (EV_P_ ev_io *iow, int revents)
|
|
2560
2571
|
/*****************************************************************************/
|
2561
2572
|
|
2562
2573
|
void
|
2563
|
-
ev_feed_signal (int signum)
|
2574
|
+
ev_feed_signal (int signum) EV_NOEXCEPT
|
2564
2575
|
{
|
2565
2576
|
#if EV_MULTIPLICITY
|
2566
2577
|
EV_P;
|
@@ -2587,7 +2598,7 @@ ev_sighandler (int signum)
|
|
2587
2598
|
|
2588
2599
|
noinline
|
2589
2600
|
void
|
2590
|
-
ev_feed_signal_event (EV_P_ int signum)
|
2601
|
+
ev_feed_signal_event (EV_P_ int signum) EV_NOEXCEPT
|
2591
2602
|
{
|
2592
2603
|
WL w;
|
2593
2604
|
|
@@ -2714,13 +2725,13 @@ childcb (EV_P_ ev_signal *sw, int revents)
|
|
2714
2725
|
#endif
|
2715
2726
|
|
2716
2727
|
ecb_cold int
|
2717
|
-
ev_version_major (void)
|
2728
|
+
ev_version_major (void) EV_NOEXCEPT
|
2718
2729
|
{
|
2719
2730
|
return EV_VERSION_MAJOR;
|
2720
2731
|
}
|
2721
2732
|
|
2722
2733
|
ecb_cold int
|
2723
|
-
ev_version_minor (void)
|
2734
|
+
ev_version_minor (void) EV_NOEXCEPT
|
2724
2735
|
{
|
2725
2736
|
return EV_VERSION_MINOR;
|
2726
2737
|
}
|
@@ -2739,7 +2750,7 @@ enable_secure (void)
|
|
2739
2750
|
|
2740
2751
|
ecb_cold
|
2741
2752
|
unsigned int
|
2742
|
-
ev_supported_backends (void)
|
2753
|
+
ev_supported_backends (void) EV_NOEXCEPT
|
2743
2754
|
{
|
2744
2755
|
unsigned int flags = 0;
|
2745
2756
|
|
@@ -2754,20 +2765,21 @@ ev_supported_backends (void) EV_THROW
|
|
2754
2765
|
|
2755
2766
|
ecb_cold
|
2756
2767
|
unsigned int
|
2757
|
-
ev_recommended_backends (void)
|
2768
|
+
ev_recommended_backends (void) EV_NOEXCEPT
|
2758
2769
|
{
|
2759
2770
|
unsigned int flags = ev_supported_backends ();
|
2760
2771
|
|
2761
|
-
#
|
2772
|
+
#if defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_14)
|
2773
|
+
/* apple has a poor track record but post 10.12.2 it seems to work sufficiently well */
|
2774
|
+
#elif defined(__NetBSD__)
|
2762
2775
|
/* kqueue is borked on everything but netbsd apparently */
|
2763
2776
|
/* it usually doesn't work correctly on anything but sockets and pipes */
|
2764
|
-
|
2765
|
-
#endif
|
2766
|
-
#ifdef __APPLE__
|
2777
|
+
#else
|
2767
2778
|
/* only select works correctly on that "unix-certified" platform */
|
2768
2779
|
flags &= ~EVBACKEND_KQUEUE; /* horribly broken, even for sockets */
|
2769
2780
|
flags &= ~EVBACKEND_POLL; /* poll is based on kqueue from 10.5 onwards */
|
2770
2781
|
#endif
|
2782
|
+
|
2771
2783
|
#ifdef __FreeBSD__
|
2772
2784
|
flags &= ~EVBACKEND_POLL; /* poll return value is unusable (http://forums.freebsd.org/archive/index.php/t-10270.html) */
|
2773
2785
|
#endif
|
@@ -2777,7 +2789,7 @@ ev_recommended_backends (void) EV_THROW
|
|
2777
2789
|
|
2778
2790
|
ecb_cold
|
2779
2791
|
unsigned int
|
2780
|
-
ev_embeddable_backends (void)
|
2792
|
+
ev_embeddable_backends (void) EV_NOEXCEPT
|
2781
2793
|
{
|
2782
2794
|
int flags = EVBACKEND_EPOLL | EVBACKEND_KQUEUE | EVBACKEND_PORT;
|
2783
2795
|
|
@@ -2789,56 +2801,56 @@ ev_embeddable_backends (void) EV_THROW
|
|
2789
2801
|
}
|
2790
2802
|
|
2791
2803
|
unsigned int
|
2792
|
-
ev_backend (EV_P)
|
2804
|
+
ev_backend (EV_P) EV_NOEXCEPT
|
2793
2805
|
{
|
2794
2806
|
return backend;
|
2795
2807
|
}
|
2796
2808
|
|
2797
2809
|
#if EV_FEATURE_API
|
2798
2810
|
unsigned int
|
2799
|
-
ev_iteration (EV_P)
|
2811
|
+
ev_iteration (EV_P) EV_NOEXCEPT
|
2800
2812
|
{
|
2801
2813
|
return loop_count;
|
2802
2814
|
}
|
2803
2815
|
|
2804
2816
|
unsigned int
|
2805
|
-
ev_depth (EV_P)
|
2817
|
+
ev_depth (EV_P) EV_NOEXCEPT
|
2806
2818
|
{
|
2807
2819
|
return loop_depth;
|
2808
2820
|
}
|
2809
2821
|
|
2810
2822
|
void
|
2811
|
-
ev_set_io_collect_interval (EV_P_ ev_tstamp interval)
|
2823
|
+
ev_set_io_collect_interval (EV_P_ ev_tstamp interval) EV_NOEXCEPT
|
2812
2824
|
{
|
2813
2825
|
io_blocktime = interval;
|
2814
2826
|
}
|
2815
2827
|
|
2816
2828
|
void
|
2817
|
-
ev_set_timeout_collect_interval (EV_P_ ev_tstamp interval)
|
2829
|
+
ev_set_timeout_collect_interval (EV_P_ ev_tstamp interval) EV_NOEXCEPT
|
2818
2830
|
{
|
2819
2831
|
timeout_blocktime = interval;
|
2820
2832
|
}
|
2821
2833
|
|
2822
2834
|
void
|
2823
|
-
ev_set_userdata (EV_P_ void *data)
|
2835
|
+
ev_set_userdata (EV_P_ void *data) EV_NOEXCEPT
|
2824
2836
|
{
|
2825
2837
|
userdata = data;
|
2826
2838
|
}
|
2827
2839
|
|
2828
2840
|
void *
|
2829
|
-
ev_userdata (EV_P)
|
2841
|
+
ev_userdata (EV_P) EV_NOEXCEPT
|
2830
2842
|
{
|
2831
2843
|
return userdata;
|
2832
2844
|
}
|
2833
2845
|
|
2834
2846
|
void
|
2835
|
-
ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb)
|
2847
|
+
ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_NOEXCEPT
|
2836
2848
|
{
|
2837
2849
|
invoke_cb = invoke_pending_cb;
|
2838
2850
|
}
|
2839
2851
|
|
2840
2852
|
void
|
2841
|
-
ev_set_loop_release_cb (EV_P_ void (*release)(EV_P)
|
2853
|
+
ev_set_loop_release_cb (EV_P_ void (*release)(EV_P) EV_NOEXCEPT, void (*acquire)(EV_P) EV_NOEXCEPT) EV_NOEXCEPT
|
2842
2854
|
{
|
2843
2855
|
release_cb = release;
|
2844
2856
|
acquire_cb = acquire;
|
@@ -2848,7 +2860,7 @@ ev_set_loop_release_cb (EV_P_ void (*release)(EV_P) EV_THROW, void (*acquire)(EV
|
|
2848
2860
|
/* initialise a loop structure, must be zero-initialised */
|
2849
2861
|
noinline ecb_cold
|
2850
2862
|
static void
|
2851
|
-
loop_init (EV_P_ unsigned int flags)
|
2863
|
+
loop_init (EV_P_ unsigned int flags) EV_NOEXCEPT
|
2852
2864
|
{
|
2853
2865
|
if (!backend)
|
2854
2866
|
{
|
@@ -3099,7 +3111,7 @@ loop_fork (EV_P)
|
|
3099
3111
|
|
3100
3112
|
ecb_cold
|
3101
3113
|
struct ev_loop *
|
3102
|
-
ev_loop_new (unsigned int flags)
|
3114
|
+
ev_loop_new (unsigned int flags) EV_NOEXCEPT
|
3103
3115
|
{
|
3104
3116
|
EV_P = (struct ev_loop *)ev_malloc (sizeof (struct ev_loop));
|
3105
3117
|
|
@@ -3156,7 +3168,7 @@ array_verify (EV_P_ W *ws, int cnt)
|
|
3156
3168
|
|
3157
3169
|
#if EV_FEATURE_API
|
3158
3170
|
void ecb_cold
|
3159
|
-
ev_verify (EV_P)
|
3171
|
+
ev_verify (EV_P) EV_NOEXCEPT
|
3160
3172
|
{
|
3161
3173
|
#if EV_VERIFY
|
3162
3174
|
int i;
|
@@ -3247,7 +3259,7 @@ struct ev_loop *
|
|
3247
3259
|
#else
|
3248
3260
|
int
|
3249
3261
|
#endif
|
3250
|
-
ev_default_loop (unsigned int flags)
|
3262
|
+
ev_default_loop (unsigned int flags) EV_NOEXCEPT
|
3251
3263
|
{
|
3252
3264
|
if (!ev_default_loop_ptr)
|
3253
3265
|
{
|
@@ -3276,7 +3288,7 @@ ev_default_loop (unsigned int flags) EV_THROW
|
|
3276
3288
|
}
|
3277
3289
|
|
3278
3290
|
void
|
3279
|
-
ev_loop_fork (EV_P)
|
3291
|
+
ev_loop_fork (EV_P) EV_NOEXCEPT
|
3280
3292
|
{
|
3281
3293
|
postfork = 1;
|
3282
3294
|
}
|
@@ -3290,7 +3302,7 @@ ev_invoke (EV_P_ void *w, int revents)
|
|
3290
3302
|
}
|
3291
3303
|
|
3292
3304
|
unsigned int
|
3293
|
-
ev_pending_count (EV_P)
|
3305
|
+
ev_pending_count (EV_P) EV_NOEXCEPT
|
3294
3306
|
{
|
3295
3307
|
int pri;
|
3296
3308
|
unsigned int count = 0;
|
@@ -3307,10 +3319,11 @@ ev_invoke_pending (EV_P)
|
|
3307
3319
|
{
|
3308
3320
|
pendingpri = NUMPRI;
|
3309
3321
|
|
3310
|
-
|
3322
|
+
do
|
3311
3323
|
{
|
3312
3324
|
--pendingpri;
|
3313
3325
|
|
3326
|
+
/* pendingpri possibly gets modified in the inner loop */
|
3314
3327
|
while (pendingcnt [pendingpri])
|
3315
3328
|
{
|
3316
3329
|
ANPENDING *p = pendings [pendingpri] + --pendingcnt [pendingpri];
|
@@ -3320,6 +3333,7 @@ ev_invoke_pending (EV_P)
|
|
3320
3333
|
EV_FREQUENT_CHECK;
|
3321
3334
|
}
|
3322
3335
|
}
|
3336
|
+
while (pendingpri);
|
3323
3337
|
}
|
3324
3338
|
|
3325
3339
|
#if EV_IDLE_ENABLE
|
@@ -3804,37 +3818,37 @@ rb_thread_unsafe_dangerous_crazy_blocking_region_end(...);
|
|
3804
3818
|
}
|
3805
3819
|
|
3806
3820
|
void
|
3807
|
-
ev_break (EV_P_ int how)
|
3821
|
+
ev_break (EV_P_ int how) EV_NOEXCEPT
|
3808
3822
|
{
|
3809
3823
|
loop_done = how;
|
3810
3824
|
}
|
3811
3825
|
|
3812
3826
|
void
|
3813
|
-
ev_ref (EV_P)
|
3827
|
+
ev_ref (EV_P) EV_NOEXCEPT
|
3814
3828
|
{
|
3815
3829
|
++activecnt;
|
3816
3830
|
}
|
3817
3831
|
|
3818
3832
|
void
|
3819
|
-
ev_unref (EV_P)
|
3833
|
+
ev_unref (EV_P) EV_NOEXCEPT
|
3820
3834
|
{
|
3821
3835
|
--activecnt;
|
3822
3836
|
}
|
3823
3837
|
|
3824
3838
|
void
|
3825
|
-
ev_now_update (EV_P)
|
3839
|
+
ev_now_update (EV_P) EV_NOEXCEPT
|
3826
3840
|
{
|
3827
3841
|
time_update (EV_A_ 1e100);
|
3828
3842
|
}
|
3829
3843
|
|
3830
3844
|
void
|
3831
|
-
ev_suspend (EV_P)
|
3845
|
+
ev_suspend (EV_P) EV_NOEXCEPT
|
3832
3846
|
{
|
3833
3847
|
ev_now_update (EV_A);
|
3834
3848
|
}
|
3835
3849
|
|
3836
3850
|
void
|
3837
|
-
ev_resume (EV_P)
|
3851
|
+
ev_resume (EV_P) EV_NOEXCEPT
|
3838
3852
|
{
|
3839
3853
|
ev_tstamp mn_prev = mn_now;
|
3840
3854
|
|
@@ -3883,7 +3897,7 @@ clear_pending (EV_P_ W w)
|
|
3883
3897
|
}
|
3884
3898
|
|
3885
3899
|
int
|
3886
|
-
ev_clear_pending (EV_P_ void *w)
|
3900
|
+
ev_clear_pending (EV_P_ void *w) EV_NOEXCEPT
|
3887
3901
|
{
|
3888
3902
|
W w_ = (W)w;
|
3889
3903
|
int pending = w_->pending;
|
@@ -3927,7 +3941,7 @@ ev_stop (EV_P_ W w)
|
|
3927
3941
|
|
3928
3942
|
noinline
|
3929
3943
|
void
|
3930
|
-
ev_io_start (EV_P_ ev_io *w)
|
3944
|
+
ev_io_start (EV_P_ ev_io *w) EV_NOEXCEPT
|
3931
3945
|
{
|
3932
3946
|
int fd = w->fd;
|
3933
3947
|
|
@@ -3954,7 +3968,7 @@ ev_io_start (EV_P_ ev_io *w) EV_THROW
|
|
3954
3968
|
|
3955
3969
|
noinline
|
3956
3970
|
void
|
3957
|
-
ev_io_stop (EV_P_ ev_io *w)
|
3971
|
+
ev_io_stop (EV_P_ ev_io *w) EV_NOEXCEPT
|
3958
3972
|
{
|
3959
3973
|
clear_pending (EV_A_ (W)w);
|
3960
3974
|
if (expect_false (!ev_is_active (w)))
|
@@ -3974,7 +3988,7 @@ ev_io_stop (EV_P_ ev_io *w) EV_THROW
|
|
3974
3988
|
|
3975
3989
|
noinline
|
3976
3990
|
void
|
3977
|
-
ev_timer_start (EV_P_ ev_timer *w)
|
3991
|
+
ev_timer_start (EV_P_ ev_timer *w) EV_NOEXCEPT
|
3978
3992
|
{
|
3979
3993
|
if (expect_false (ev_is_active (w)))
|
3980
3994
|
return;
|
@@ -3999,7 +4013,7 @@ ev_timer_start (EV_P_ ev_timer *w) EV_THROW
|
|
3999
4013
|
|
4000
4014
|
noinline
|
4001
4015
|
void
|
4002
|
-
ev_timer_stop (EV_P_ ev_timer *w)
|
4016
|
+
ev_timer_stop (EV_P_ ev_timer *w) EV_NOEXCEPT
|
4003
4017
|
{
|
4004
4018
|
clear_pending (EV_A_ (W)w);
|
4005
4019
|
if (expect_false (!ev_is_active (w)))
|
@@ -4030,7 +4044,7 @@ ev_timer_stop (EV_P_ ev_timer *w) EV_THROW
|
|
4030
4044
|
|
4031
4045
|
noinline
|
4032
4046
|
void
|
4033
|
-
ev_timer_again (EV_P_ ev_timer *w)
|
4047
|
+
ev_timer_again (EV_P_ ev_timer *w) EV_NOEXCEPT
|
4034
4048
|
{
|
4035
4049
|
EV_FREQUENT_CHECK;
|
4036
4050
|
|
@@ -4057,7 +4071,7 @@ ev_timer_again (EV_P_ ev_timer *w) EV_THROW
|
|
4057
4071
|
}
|
4058
4072
|
|
4059
4073
|
ev_tstamp
|
4060
|
-
ev_timer_remaining (EV_P_ ev_timer *w)
|
4074
|
+
ev_timer_remaining (EV_P_ ev_timer *w) EV_NOEXCEPT
|
4061
4075
|
{
|
4062
4076
|
return ev_at (w) - (ev_is_active (w) ? mn_now : 0.);
|
4063
4077
|
}
|
@@ -4065,7 +4079,7 @@ ev_timer_remaining (EV_P_ ev_timer *w) EV_THROW
|
|
4065
4079
|
#if EV_PERIODIC_ENABLE
|
4066
4080
|
noinline
|
4067
4081
|
void
|
4068
|
-
ev_periodic_start (EV_P_ ev_periodic *w)
|
4082
|
+
ev_periodic_start (EV_P_ ev_periodic *w) EV_NOEXCEPT
|
4069
4083
|
{
|
4070
4084
|
if (expect_false (ev_is_active (w)))
|
4071
4085
|
return;
|
@@ -4096,7 +4110,7 @@ ev_periodic_start (EV_P_ ev_periodic *w) EV_THROW
|
|
4096
4110
|
|
4097
4111
|
noinline
|
4098
4112
|
void
|
4099
|
-
ev_periodic_stop (EV_P_ ev_periodic *w)
|
4113
|
+
ev_periodic_stop (EV_P_ ev_periodic *w) EV_NOEXCEPT
|
4100
4114
|
{
|
4101
4115
|
clear_pending (EV_A_ (W)w);
|
4102
4116
|
if (expect_false (!ev_is_active (w)))
|
@@ -4125,7 +4139,7 @@ ev_periodic_stop (EV_P_ ev_periodic *w) EV_THROW
|
|
4125
4139
|
|
4126
4140
|
noinline
|
4127
4141
|
void
|
4128
|
-
ev_periodic_again (EV_P_ ev_periodic *w)
|
4142
|
+
ev_periodic_again (EV_P_ ev_periodic *w) EV_NOEXCEPT
|
4129
4143
|
{
|
4130
4144
|
/* TODO: use adjustheap and recalculation */
|
4131
4145
|
ev_periodic_stop (EV_A_ w);
|
@@ -4141,7 +4155,7 @@ ev_periodic_again (EV_P_ ev_periodic *w) EV_THROW
|
|
4141
4155
|
|
4142
4156
|
noinline
|
4143
4157
|
void
|
4144
|
-
ev_signal_start (EV_P_ ev_signal *w)
|
4158
|
+
ev_signal_start (EV_P_ ev_signal *w) EV_NOEXCEPT
|
4145
4159
|
{
|
4146
4160
|
if (expect_false (ev_is_active (w)))
|
4147
4161
|
return;
|
@@ -4224,7 +4238,7 @@ ev_signal_start (EV_P_ ev_signal *w) EV_THROW
|
|
4224
4238
|
|
4225
4239
|
noinline
|
4226
4240
|
void
|
4227
|
-
ev_signal_stop (EV_P_ ev_signal *w)
|
4241
|
+
ev_signal_stop (EV_P_ ev_signal *w) EV_NOEXCEPT
|
4228
4242
|
{
|
4229
4243
|
clear_pending (EV_A_ (W)w);
|
4230
4244
|
if (expect_false (!ev_is_active (w)))
|
@@ -4265,7 +4279,7 @@ ev_signal_stop (EV_P_ ev_signal *w) EV_THROW
|
|
4265
4279
|
#if EV_CHILD_ENABLE
|
4266
4280
|
|
4267
4281
|
void
|
4268
|
-
ev_child_start (EV_P_ ev_child *w)
|
4282
|
+
ev_child_start (EV_P_ ev_child *w) EV_NOEXCEPT
|
4269
4283
|
{
|
4270
4284
|
#if EV_MULTIPLICITY
|
4271
4285
|
assert (("libev: child watchers are only supported in the default loop", loop == ev_default_loop_ptr));
|
@@ -4282,7 +4296,7 @@ ev_child_start (EV_P_ ev_child *w) EV_THROW
|
|
4282
4296
|
}
|
4283
4297
|
|
4284
4298
|
void
|
4285
|
-
ev_child_stop (EV_P_ ev_child *w)
|
4299
|
+
ev_child_stop (EV_P_ ev_child *w) EV_NOEXCEPT
|
4286
4300
|
{
|
4287
4301
|
clear_pending (EV_A_ (W)w);
|
4288
4302
|
if (expect_false (!ev_is_active (w)))
|
@@ -4557,7 +4571,7 @@ infy_fork (EV_P)
|
|
4557
4571
|
#endif
|
4558
4572
|
|
4559
4573
|
void
|
4560
|
-
ev_stat_stat (EV_P_ ev_stat *w)
|
4574
|
+
ev_stat_stat (EV_P_ ev_stat *w) EV_NOEXCEPT
|
4561
4575
|
{
|
4562
4576
|
if (lstat (w->path, &w->attr) < 0)
|
4563
4577
|
w->attr.st_nlink = 0;
|
@@ -4607,7 +4621,7 @@ stat_timer_cb (EV_P_ ev_timer *w_, int revents)
|
|
4607
4621
|
}
|
4608
4622
|
|
4609
4623
|
void
|
4610
|
-
ev_stat_start (EV_P_ ev_stat *w)
|
4624
|
+
ev_stat_start (EV_P_ ev_stat *w) EV_NOEXCEPT
|
4611
4625
|
{
|
4612
4626
|
if (expect_false (ev_is_active (w)))
|
4613
4627
|
return;
|
@@ -4638,7 +4652,7 @@ ev_stat_start (EV_P_ ev_stat *w) EV_THROW
|
|
4638
4652
|
}
|
4639
4653
|
|
4640
4654
|
void
|
4641
|
-
ev_stat_stop (EV_P_ ev_stat *w)
|
4655
|
+
ev_stat_stop (EV_P_ ev_stat *w) EV_NOEXCEPT
|
4642
4656
|
{
|
4643
4657
|
clear_pending (EV_A_ (W)w);
|
4644
4658
|
if (expect_false (!ev_is_active (w)))
|
@@ -4664,7 +4678,7 @@ ev_stat_stop (EV_P_ ev_stat *w) EV_THROW
|
|
4664
4678
|
|
4665
4679
|
#if EV_IDLE_ENABLE
|
4666
4680
|
void
|
4667
|
-
ev_idle_start (EV_P_ ev_idle *w)
|
4681
|
+
ev_idle_start (EV_P_ ev_idle *w) EV_NOEXCEPT
|
4668
4682
|
{
|
4669
4683
|
if (expect_false (ev_is_active (w)))
|
4670
4684
|
return;
|
@@ -4687,7 +4701,7 @@ ev_idle_start (EV_P_ ev_idle *w) EV_THROW
|
|
4687
4701
|
}
|
4688
4702
|
|
4689
4703
|
void
|
4690
|
-
ev_idle_stop (EV_P_ ev_idle *w)
|
4704
|
+
ev_idle_stop (EV_P_ ev_idle *w) EV_NOEXCEPT
|
4691
4705
|
{
|
4692
4706
|
clear_pending (EV_A_ (W)w);
|
4693
4707
|
if (expect_false (!ev_is_active (w)))
|
@@ -4711,7 +4725,7 @@ ev_idle_stop (EV_P_ ev_idle *w) EV_THROW
|
|
4711
4725
|
|
4712
4726
|
#if EV_PREPARE_ENABLE
|
4713
4727
|
void
|
4714
|
-
ev_prepare_start (EV_P_ ev_prepare *w)
|
4728
|
+
ev_prepare_start (EV_P_ ev_prepare *w) EV_NOEXCEPT
|
4715
4729
|
{
|
4716
4730
|
if (expect_false (ev_is_active (w)))
|
4717
4731
|
return;
|
@@ -4726,7 +4740,7 @@ ev_prepare_start (EV_P_ ev_prepare *w) EV_THROW
|
|
4726
4740
|
}
|
4727
4741
|
|
4728
4742
|
void
|
4729
|
-
ev_prepare_stop (EV_P_ ev_prepare *w)
|
4743
|
+
ev_prepare_stop (EV_P_ ev_prepare *w) EV_NOEXCEPT
|
4730
4744
|
{
|
4731
4745
|
clear_pending (EV_A_ (W)w);
|
4732
4746
|
if (expect_false (!ev_is_active (w)))
|
@@ -4749,7 +4763,7 @@ ev_prepare_stop (EV_P_ ev_prepare *w) EV_THROW
|
|
4749
4763
|
|
4750
4764
|
#if EV_CHECK_ENABLE
|
4751
4765
|
void
|
4752
|
-
ev_check_start (EV_P_ ev_check *w)
|
4766
|
+
ev_check_start (EV_P_ ev_check *w) EV_NOEXCEPT
|
4753
4767
|
{
|
4754
4768
|
if (expect_false (ev_is_active (w)))
|
4755
4769
|
return;
|
@@ -4764,7 +4778,7 @@ ev_check_start (EV_P_ ev_check *w) EV_THROW
|
|
4764
4778
|
}
|
4765
4779
|
|
4766
4780
|
void
|
4767
|
-
ev_check_stop (EV_P_ ev_check *w)
|
4781
|
+
ev_check_stop (EV_P_ ev_check *w) EV_NOEXCEPT
|
4768
4782
|
{
|
4769
4783
|
clear_pending (EV_A_ (W)w);
|
4770
4784
|
if (expect_false (!ev_is_active (w)))
|
@@ -4788,7 +4802,7 @@ ev_check_stop (EV_P_ ev_check *w) EV_THROW
|
|
4788
4802
|
#if EV_EMBED_ENABLE
|
4789
4803
|
noinline
|
4790
4804
|
void
|
4791
|
-
ev_embed_sweep (EV_P_ ev_embed *w)
|
4805
|
+
ev_embed_sweep (EV_P_ ev_embed *w) EV_NOEXCEPT
|
4792
4806
|
{
|
4793
4807
|
ev_run (w->other, EVRUN_NOWAIT);
|
4794
4808
|
}
|
@@ -4846,7 +4860,7 @@ embed_idle_cb (EV_P_ ev_idle *idle, int revents)
|
|
4846
4860
|
#endif
|
4847
4861
|
|
4848
4862
|
void
|
4849
|
-
ev_embed_start (EV_P_ ev_embed *w)
|
4863
|
+
ev_embed_start (EV_P_ ev_embed *w) EV_NOEXCEPT
|
4850
4864
|
{
|
4851
4865
|
if (expect_false (ev_is_active (w)))
|
4852
4866
|
return;
|
@@ -4877,7 +4891,7 @@ ev_embed_start (EV_P_ ev_embed *w) EV_THROW
|
|
4877
4891
|
}
|
4878
4892
|
|
4879
4893
|
void
|
4880
|
-
ev_embed_stop (EV_P_ ev_embed *w)
|
4894
|
+
ev_embed_stop (EV_P_ ev_embed *w) EV_NOEXCEPT
|
4881
4895
|
{
|
4882
4896
|
clear_pending (EV_A_ (W)w);
|
4883
4897
|
if (expect_false (!ev_is_active (w)))
|
@@ -4897,7 +4911,7 @@ ev_embed_stop (EV_P_ ev_embed *w) EV_THROW
|
|
4897
4911
|
|
4898
4912
|
#if EV_FORK_ENABLE
|
4899
4913
|
void
|
4900
|
-
ev_fork_start (EV_P_ ev_fork *w)
|
4914
|
+
ev_fork_start (EV_P_ ev_fork *w) EV_NOEXCEPT
|
4901
4915
|
{
|
4902
4916
|
if (expect_false (ev_is_active (w)))
|
4903
4917
|
return;
|
@@ -4912,7 +4926,7 @@ ev_fork_start (EV_P_ ev_fork *w) EV_THROW
|
|
4912
4926
|
}
|
4913
4927
|
|
4914
4928
|
void
|
4915
|
-
ev_fork_stop (EV_P_ ev_fork *w)
|
4929
|
+
ev_fork_stop (EV_P_ ev_fork *w) EV_NOEXCEPT
|
4916
4930
|
{
|
4917
4931
|
clear_pending (EV_A_ (W)w);
|
4918
4932
|
if (expect_false (!ev_is_active (w)))
|
@@ -4935,7 +4949,7 @@ ev_fork_stop (EV_P_ ev_fork *w) EV_THROW
|
|
4935
4949
|
|
4936
4950
|
#if EV_CLEANUP_ENABLE
|
4937
4951
|
void
|
4938
|
-
ev_cleanup_start (EV_P_ ev_cleanup *w)
|
4952
|
+
ev_cleanup_start (EV_P_ ev_cleanup *w) EV_NOEXCEPT
|
4939
4953
|
{
|
4940
4954
|
if (expect_false (ev_is_active (w)))
|
4941
4955
|
return;
|
@@ -4952,7 +4966,7 @@ ev_cleanup_start (EV_P_ ev_cleanup *w) EV_THROW
|
|
4952
4966
|
}
|
4953
4967
|
|
4954
4968
|
void
|
4955
|
-
ev_cleanup_stop (EV_P_ ev_cleanup *w)
|
4969
|
+
ev_cleanup_stop (EV_P_ ev_cleanup *w) EV_NOEXCEPT
|
4956
4970
|
{
|
4957
4971
|
clear_pending (EV_A_ (W)w);
|
4958
4972
|
if (expect_false (!ev_is_active (w)))
|
@@ -4976,7 +4990,7 @@ ev_cleanup_stop (EV_P_ ev_cleanup *w) EV_THROW
|
|
4976
4990
|
|
4977
4991
|
#if EV_ASYNC_ENABLE
|
4978
4992
|
void
|
4979
|
-
ev_async_start (EV_P_ ev_async *w)
|
4993
|
+
ev_async_start (EV_P_ ev_async *w) EV_NOEXCEPT
|
4980
4994
|
{
|
4981
4995
|
if (expect_false (ev_is_active (w)))
|
4982
4996
|
return;
|
@@ -4995,7 +5009,7 @@ ev_async_start (EV_P_ ev_async *w) EV_THROW
|
|
4995
5009
|
}
|
4996
5010
|
|
4997
5011
|
void
|
4998
|
-
ev_async_stop (EV_P_ ev_async *w)
|
5012
|
+
ev_async_stop (EV_P_ ev_async *w) EV_NOEXCEPT
|
4999
5013
|
{
|
5000
5014
|
clear_pending (EV_A_ (W)w);
|
5001
5015
|
if (expect_false (!ev_is_active (w)))
|
@@ -5016,7 +5030,7 @@ ev_async_stop (EV_P_ ev_async *w) EV_THROW
|
|
5016
5030
|
}
|
5017
5031
|
|
5018
5032
|
void
|
5019
|
-
ev_async_send (EV_P_ ev_async *w)
|
5033
|
+
ev_async_send (EV_P_ ev_async *w) EV_NOEXCEPT
|
5020
5034
|
{
|
5021
5035
|
w->sent = 1;
|
5022
5036
|
evpipe_write (EV_A_ &async_pending);
|
@@ -5063,7 +5077,7 @@ once_cb_to (EV_P_ ev_timer *w, int revents)
|
|
5063
5077
|
}
|
5064
5078
|
|
5065
5079
|
void
|
5066
|
-
ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg)
|
5080
|
+
ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg) EV_NOEXCEPT
|
5067
5081
|
{
|
5068
5082
|
struct ev_once *once = (struct ev_once *)ev_malloc (sizeof (struct ev_once));
|
5069
5083
|
|
@@ -5096,7 +5110,7 @@ ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, vo
|
|
5096
5110
|
#if EV_WALK_ENABLE
|
5097
5111
|
ecb_cold
|
5098
5112
|
void
|
5099
|
-
ev_walk (EV_P_ int types, void (*cb)(EV_P_ int type, void *w))
|
5113
|
+
ev_walk (EV_P_ int types, void (*cb)(EV_P_ int type, void *w)) EV_NOEXCEPT
|
5100
5114
|
{
|
5101
5115
|
int i, j;
|
5102
5116
|
ev_watcher_list *wl, *wn;
|