Annotate

teal-src/util/poll.d.tl @ 12553:cc0ec0277813 0.12

util.startup: Fix async waiting for last shutdown steps Observed problem: When shutting down prosody would immediately exit after waiting for s2s connections to close, skipping the last cleanup events and reporting the exit reason and code. This happens because prosody.main_thread is in a waiting state and queuing startup.shutdown is dispatched trough the main loop via nexttick, but since the main loop was no longer running at that point it proceeded to the end of the prosody script and exited there.
author Kim Alvefur <zash@zash.se>
date Tue, 14 Jun 2022 16:28:49 +0200
parent 12316:6bb2f660f689
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11432
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local record state
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 enum waiterr
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 "timeout"
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 "signal"
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 end
11459
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
6 add : function (state, integer, boolean, boolean) : boolean
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
7 add : function (state, integer, boolean, boolean) : nil, string, integer
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
8 set : function (state, integer, boolean, boolean) : boolean
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
9 set : function (state, integer, boolean, boolean) : nil, string, integer
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
10 del : function (state, integer) : boolean
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
11 del : function (state, integer) : nil, string, integer
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
12 wait : function (state, integer) : integer, boolean, boolean
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
13 wait : function (state, integer) : nil, string, integer
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
14 wait : function (state, integer) : nil, waiterr
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
15 getfd : function (state) : integer
11432
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 end
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 local record lib
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 new : function () : state
12316
6bb2f660f689 util.poll: Add support for the poll() API
Kim Alvefur <zash@zash.se>
parents: 12315
diff changeset
20 EEXIST : integer
6bb2f660f689 util.poll: Add support for the poll() API
Kim Alvefur <zash@zash.se>
parents: 12315
diff changeset
21 EMFILE : integer
11459
86904555bffc teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents: 11432
diff changeset
22 ENOENT : integer
12315
cf2086a1bd45 util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents: 11459
diff changeset
23 enum api_backend
cf2086a1bd45 util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents: 11459
diff changeset
24 "epoll"
12316
6bb2f660f689 util.poll: Add support for the poll() API
Kim Alvefur <zash@zash.se>
parents: 12315
diff changeset
25 "poll"
12315
cf2086a1bd45 util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents: 11459
diff changeset
26 "select"
cf2086a1bd45 util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents: 11459
diff changeset
27 end
cf2086a1bd45 util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents: 11459
diff changeset
28 api : api_backend
11432
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 end
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30
113f3912c7cb util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 return lib