Mercurial > prosody-hg
comparison net/server_select.lua @ 5330:0a0ca2eb991b
net.server_select: Be less aggressive about server pause
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 12 Feb 2013 03:24:30 +0100 |
| parents | ec50ad93e280 |
| children | ffa740b4f08d |
comparison
equal
deleted
inserted
replaced
| 5329:9fffd5fad4b3 | 5330:0a0ca2eb991b |
|---|---|
| 199 handler = nil | 199 handler = nil |
| 200 socket = nil | 200 socket = nil |
| 201 --mem_free( ) | 201 --mem_free( ) |
| 202 out_put "server.lua: closed server handler and removed sockets from list" | 202 out_put "server.lua: closed server handler and removed sockets from list" |
| 203 end | 203 end |
| 204 handler.pause = function() | 204 handler.pause = function( hard ) |
| 205 if not handler.paused then | 205 if not handler.paused then |
| 206 socket:close( ) | |
| 207 _sendlistlen = removesocket( _sendlist, socket, _sendlistlen ) | |
| 208 _readlistlen = removesocket( _readlist, socket, _readlistlen ) | 206 _readlistlen = removesocket( _readlist, socket, _readlistlen ) |
| 209 _socketlist[ socket ] = nil | 207 if hard then |
| 210 socket = nil; | 208 _socketlist[ socket ] = nil |
| 209 socket:close( ) | |
| 210 socket = nil; | |
| 211 end | |
| 211 handler.paused = true; | 212 handler.paused = true; |
| 212 end | 213 end |
| 213 end | 214 end |
| 214 handler.resume = function() | 215 handler.resume = function( ) |
| 215 if handler.paused then | 216 if handler.paused then |
| 216 socket = socket_bind( ip, serverport ); | 217 if not socket then |
| 217 socket:settimeout( 0 ) | 218 socket = socket_bind( ip, serverport ); |
| 219 socket:settimeout( 0 ) | |
| 220 end | |
| 218 _readlistlen = addsocket(_readlist, socket, _readlistlen) | 221 _readlistlen = addsocket(_readlist, socket, _readlistlen) |
| 219 _socketlist[ socket ] = handler | 222 _socketlist[ socket ] = handler |
| 220 handler.paused = false; | 223 handler.paused = false; |
| 221 end | 224 end |
| 222 end | 225 end |
