84 Commits

Author SHA1 Message Date
Curtis 057cfe761f Tidy with flake8 2015-04-11 22:50:11 +10:00
Aarni Koskela 91a04dd461 Add reasons to worker self-shutdown messages.
This should make it easier to understand why a worker is shutting down.

* Modify `goodbye_cruel_world` to accept a `reason` format string and
  varargs.
* Modify calls to the above function to include a verbose reason string.
* Modify the `gbcw_hook` used by the Gevent plugin to adhere to the new
  API.
2015-01-08 09:44:03 +02:00
Unbit 70324ade1b fixed #680 2014-12-06 09:13:55 +01:00
Unbit 26c9d2c618 fixed #701 2014-09-19 11:42:43 +02:00
Mike Kaplinskiy 949d74b516 Make it compile on more stringent compilers. 2014-09-17 13:27:44 -04:00
Mike Kaplinskiy f87a719d66 Fix exhaustion code when using multiple sockets. 2014-09-17 13:06:05 -04:00
Mike Kaplinskiy 8099dbd9e2 Don't spin if we exhaust the async worker pool. 2014-09-17 13:06:05 -04:00
Mike Kaplinskiy 1a4f333912 Allow --async 1 (i.e. sync mode, but with a different loop engine) 2014-08-17 13:13:17 -04:00
Unbit daa1882921 improved harakiri for signal handlers 2014-06-23 13:42:55 +02:00
Unbit 2e14da983a first attempt in implementing per-core harakiri 2014-06-23 12:37:22 +02:00
Unbit 04173869ee ensure SIGPIPE is ignored in gevent mode 2014-05-13 12:49:58 +02:00
Unbit 6d69c01651 getting rid of dynami options (step 2) 2013-12-26 17:03:27 +01:00
Unbit 61f3d162a4 getting rid og dynamic options (step 1) 2013-12-26 16:48:50 +01:00
Unbit 88b5f968a4 added milliseconds hook support to gevent 2013-11-29 16:43:07 +01:00
Unbit 94353efb3f correctly support python2.4 2013-11-01 10:02:35 +01:00
Riccardo Magliocchetti d505964321 plugins/gevent: don't dereference null pointer
We should not pass a NULL pointer to Py_DECREF. This is possible
if wsgi_req->socket->edge_trigger is true.

Reported by Coverity as CID #970981.
2013-10-28 19:38:02 +01:00
Unbit 26bcf28182 improved gevent waiting for greenlets 2013-09-09 17:52:28 +02:00
Unbit 0ebda93a50 fixed #365 2013-08-23 18:41:10 +02:00
Unbit 920eee36e3 fixed a wrong cast in gevent plugin 2013-05-02 17:28:06 +02:00
Andre Cruz 559f8ee095 Call atexit hook when we want to graceful reload and there are no requests being served. Otherwise call it when the last request finishes. 2013-05-02 14:36:50 +01:00
Unbit f20213ff10 various async/green mode improvements and fixes 2013-04-25 11:33:45 +02:00
Unbit 86e651f5e7 call gevent atexit hook before destroying uwsgi-related greenlets 2013-04-25 07:09:39 +02:00
Unbit 28a283b1c1 added uwsgi.atexit management to gevent 2013-04-23 21:20:42 +02:00
Unbit 78d8b221fc added --gevent-monkey-patch 2013-03-17 07:14:54 +01:00
Unbit 8d16ce28b9 avoid async queue full log storming 2013-02-24 07:55:46 +01:00
Unbit 0dd2a34e22 improved websockets support 2013-02-16 13:13:04 +01:00
Unbit 9610ec72ab openindiana fixes 2013-02-15 22:24:35 +01:00
Unbit f70c7c1e17 report worker id during gevent requests waiting 2013-02-14 12:13:33 +01:00
Unbit fd7d4fc944 greatly improved chain reload in gevent mode 2013-02-14 10:12:24 +01:00
Unbit f25ab0fdd2 more improvements on the non-blocking api 2013-02-13 12:07:07 +01:00
Unbit 65c047dca1 added timebomb concept and improved gevent reloading 2013-02-09 07:55:12 +01:00
Unbit 8d41a77baa coro and gevent improvements 2013-02-08 07:01:04 +01:00
Unbit 9679645354 Coro::AnyEvent + websockets is working 2013-02-03 20:38:30 +01:00
Unbit d4130dbc4b first round of protocol parsers optimizations
preliminary api for language-independent body read

another step

completed body read language independent implementation

ported gevent to the new read/write api

ported websockets to the new read/write api

removed channels subsystem

removed channels subsystem

ported lua to the new read/write api

fixed post-buffering

readline is still broken

improved request body readline

very difficult test for readline()/read() combo passed

other improvements in postbuffering/read/readline

ported --http-socket to the new api

added X-Forwarded-SSL management

removed old api

more refactoring

ported the RACK plugin to the new api

ported psgi plugin to the new api

defintely removed clustering

simpified ifdel hell

simpified ifdef hell

removed useless configuration options
2013-02-03 10:38:13 +01:00
Roberto De Ioris 3642198acd added gevent.h 2013-01-20 16:01:39 +01:00
Roberto De Ioris 810a1463d5 started porting the gevent plugin to the new api 2013-01-20 16:00:11 +01:00
Roberto De Ioris 37e153d5de need to find a way to better manage write errors... 2013-01-20 10:32:02 +01:00
Roberto De Ioris ee129f02bc support for websockets over https 2013-01-13 12:46:03 +01:00
Roberto De Ioris 50fe00d142 gevent-friendly channel hook 2013-01-13 09:32:58 +01:00
Roberto De Ioris 385458b291 fixed gevent leak 2013-01-12 17:17:30 +01:00
Roberto De Ioris e31d0a8693 websocket gevent hooks 2013-01-11 14:40:23 +01:00
Roberto De Ioris dda86dbc9c fixed a https/corerouter corner-case bug 2012-12-21 11:30:46 +01:00
Roberto De Ioris df8efa31dd more debug for https 2012-12-16 10:57:56 +01:00
Roberto De Ioris ee6aff6665 added additional uwgsi-gevent error report 2012-12-15 20:34:25 +01:00
Roberto De Ioris d6b4b8ea6e improved wsgi.input reports 2012-10-23 20:44:01 +02:00
Roberto De Ioris 3a451fb42f updates request switches at every gevent sleep/switch 2012-10-22 17:16:21 +02:00
Roberto De Ioris 7017712c6d non blocking wsgi.input in gevent 2012-10-22 15:58:36 +02:00
Roberto De Ioris 29ce04adce implemented reliable gevent non-blocking writes 2012-10-22 08:34:37 +02:00
Roberto De Ioris 6ea535a74d fixed gil usage in gevent plugin 2012-10-18 16:06:53 +02:00
Roberto De Ioris 94eb4f078e improved gevent usage of threads (it allows tracebacker and autoreloader to work in gevent) 2012-10-17 21:19:48 +02:00