Commit Graph
5934 Commits
Author SHA1 Message Date
yueyoum cd69e718aa spooler-signal-as-task 2015-08-19 00:19:03 +08:00
unbit d5114da3aa Merge pull request #998 from xrmx/systemdfixup
systemd_logger: fix build with recent systemd
2015-08-04 11:19:48 +02:00
Riccardo Magliocchetti 9787f6882c systemd_logger: fix build with recent systemd
Since systemd 209 all the functionalities of libsystemd-* have
been merged in libsystemd.
2015-08-04 11:13:32 +02:00
unbit 7efa3666b7 Merge pull request #820 from xrmx/mimetypedebug
core/static: print mimetype of file in debug print
2015-08-04 10:39:22 +02:00
Roberto De Ioris 1b3799d879 fixed #948 2015-08-02 08:35:53 +02:00
unbit 194f0bf94a Merge pull request #981 from Darvame/patch-4
lua_plugin: --lazy-apps, --threads and other
2015-08-02 08:11:29 +02:00
unbit b68a9d4d04 Merge pull request #986 from yueyoum/gevent-websocket
Allow call uwsgi websocket API in other greenlet. (enhanced)
2015-08-02 08:08:18 +02:00
Roberto De Ioris 5cbe0d078c fixed alarm backlog 2015-08-02 07:46:21 +02:00
Roberto De Ioris 262e370c81 added struct fields for --emperor-trigger-socket 2015-08-02 07:26:50 +02:00
Hleran f3bc21cf2b lua_plugin: no switch in 1st yield; async_id_get()
If coroutine and async, do not switch until first yield of coroutine;
uwsgi.async_id_get() to get 'wsgi_req->async_id' in my app;
2015-07-31 01:03:40 +03:00
Hleran a0dc7fdcf9 lua_plugin: wsapi func ref is constant, threading
correct multithreading support
2015-07-28 19:08:24 +03:00
unbit af17ba5739 Merge pull request #988 from xrmx/coverity2807
A couple of coverity fixes
2015-07-28 12:57:16 +02:00
Riccardo Magliocchetti 0dd07763b2 core/io: cleanup error handling in uwsgi_proxy_nb
Coverity reports a null pointer dereference (CID 1231243) after
check of ub. After auditing the callers it looks like it is always
called with ub defined so add a guard againt it being null at the
top just to be sure.

While at it fixup indentation of the function.
2015-07-28 12:32:08 +02:00
Hleran 1e97a5e8d0 lua_plugin: malloc oversize 2015-07-28 13:04:11 +03:00
Riccardo Magliocchetti 05748c2344 plugins/libffi: fix allocation mismatch
args_type is of type ffi_type** so its memory should be sized
against sizeof(ffy_type*).

Reported by Coverity as CID #1308300
2015-07-28 11:53:13 +02:00
Hleran 4c152b237f lua_plugin: recheck async_status, clean threads
recheck async_status before pcall
keep our thread's stacks empty
2015-07-28 11:24:55 +03:00
yueyoum 1bd624b188 Change uwsgi.input_object() to uwsgi.request_context().
and change the `uwsgi.websocket_send/send_binary/recv/recv_nb`
keyword argument from `uwsgi_input` to `request_context`
2015-07-28 15:11:45 +08:00
yueyoum 41c02ad01a check argument: uwsgi_input 2015-07-28 14:21:59 +08:00
Hleran 97304aded8 lua_plugin: better lazy check 2015-07-27 23:51:43 +03:00
yueyoum 8569450a85 I add this feature for using uwsgi websocket with gevent more easy and
convenient.

Example: tests/websockets_chat_2.py

Add:    add a new API `uwsgi.input_object()` for get `struct wsgi_req *`
in python.

Modify: `uwsgi.websocket_send/send_binary/recv/recv_nb` now has a
kwarg: `uwsgi_input`.

If not provide the `uwsgi_input` keyword argument, The four function's
behavior not changed.

When provide the `uwsgi_input` keyword argument, The four function will
get `wsgi_req` from the argument.

In this way, uwsgi websocket functions can be used in other greenlets.
2015-07-28 03:18:09 +08:00
Hleran fc088d4071 lua_plugin: .post_fork to .init_apps and lazy-apps
yes,  lazy-apps and lazy works fine
2015-07-27 19:51:46 +03:00
Hleran 916924c255 lua_plugin: change default gc mode etc...
- lua gc default is now LUA_GCSTEP instead of LUA_GCCOLLECT, the default value of gc-freq 0 with full collection after each request is really overkill. LUA_GCSTEP with default gc-freq works better. But you can always change gc to full collect via 'lua-gc-full = 1' opt;

- if our coroutine yields unexpected nil while in async mode, we retry the coroutine's call again in order to detect dead coroutine without async switch

- and some cleanup
2015-07-27 13:56:29 +03:00
Hleran cfaeb00a09 lua_plugin: .init_apps to .post_fork
trying to avoid seg_fault on very heavy load; (our workers now alloc memory for states and create it)
also our app can now work without wsapi app, it will just send 500 error code
2015-07-26 00:14:43 +03:00
unbit ca673dfc5f Merge pull request #978 from xrmx/coverity2307
Misc coverity fixes
2015-07-23 18:36:52 +02:00
Riccardo Magliocchetti 0cfec33943 plugins/router_spnego: remove dead code
negotiate is always null when going through forbidden label.

Reported by Coverity as CID #1308280
2015-07-23 16:44:50 +02:00
Riccardo Magliocchetti afedff7589 plugins/webdav: fix memory leak
Reported by Coverity as CID #1308292
2015-07-23 16:44:50 +02:00
Riccardo Magliocchetti ab7caae665 plugins/emperor_amqp: fix memory leak on error path
Reported by Coverity as CID #1308293
2015-07-23 16:44:50 +02:00
Riccardo Magliocchetti af613082c0 plugins/router_radius: fix resource leak on error path
Reported by Coverity as CID #1308294
2015-07-23 16:44:50 +02:00
Riccardo Magliocchetti 1362dcb117 dumbloop: fix memory leak
Reported by Coverity as CID #1308298
2015-07-23 14:47:30 +02:00
unbit 774f732205 Merge pull request #977 from Darvame/patch-3
lua_plugin: lua_newthread instead of new_State
2015-07-22 20:48:19 +02:00
Hleran 6b0a89a117 lua_plugin: lua_newthread instead of new_State
only ONE lua_State per 1 worker, and one lua thread per one worker's core.
so, 4 workers with 8000 async cores will not create 8000 lua_States, only 4, for each worker.
uwsgi table now also has lua_thread collection, and mywid variable.

Know bugs: too many simultaneously running cores (like async = 8000) without proper gc will cause segmentation fault (out of memory)
2015-07-22 21:28:25 +03:00
Unbit 5348d803d6 fixed 963 2015-07-19 08:14:14 +02:00
unbit 078a2c354e Merge pull request #974 from Darvame/patch-2
lua_plugin: rpc uwsgi_malloc and missing free
2015-07-19 07:16:24 +02:00
Hleran 59f6cd5453 lua_plugin: rpc uwsgi_malloc and missing free
I noticed that all cool kids are using uwsgi_malloc instead of malloc;
Also I noticed, that I forgot to free memory last time (while playing on high level languages)
2015-07-18 23:28:12 +03:00
unbit 11cddaf56c Merge pull request #969 from xtfxme/python-mule-from-callable-lazy-apps
move initialization of up.loaders to uwsgi_python_preinit_apps
2015-07-17 06:43:53 +02:00
C Anthony Risinger d01bd639a7 move initialization of up.loaders to uwsgi_python_preinit_apps, fixes #968 2015-07-16 14:29:46 -05:00
unbit f1ef2eecfe Merge pull request #967 from xtfxme/python-mule-from-callable
load python mule from callable, eg. --mule=package.module:callable
2015-07-16 01:21:55 +02:00
unbit c840e4d54e Merge pull request #966 from rrva/master
SOL_TCP is not defined on OSX
2015-07-16 01:19:59 +02:00
C Anthony Risinger 0187247899 load python mule from callable, eg. --mule=package.module:callable 2015-07-15 17:04:25 -05:00
Ragnar Rova b608eb1772 OSX 10.11 supports TCP_FASTOPEN
But does not define SOL_TCP.
IPPROTO_TCP is the equivalent.
2015-07-15 21:54:39 +02:00
unbit 03b86d8414 Merge pull request #957 from xrmx/brownpaper0807
Fix compilation in router_access
2015-07-08 13:14:02 +02:00
Riccardo Magliocchetti da897a36fc Fix compilation in router_access
Typo introduced in 837da66440
2015-07-08 12:42:44 +02:00
unbit a99ee6d09d Merge pull request #909 from xrmx/coverity050515-2
Fishy coverity fixes
2015-07-08 12:37:41 +02:00
unbit fe61e661bd Merge pull request #956 from xrmx/coverity0707-2
A few more coverity fixes
2015-07-07 23:48:14 +02:00
unbit 5926144ebd Merge pull request #955 from xrmx/norouter
More specific error when you are missing a router plugin
2015-07-07 23:45:15 +02:00
Riccardo Magliocchetti 102f7387cb plugins/tuntap: add missing return on error
Reported by Coverity as CID #1308282
2015-07-07 18:32:43 +02:00
Riccardo Magliocchetti 5b56f7c570 plugins/alarm_curl: avoid null dereference
An || may be the intended operator instead of && as equal may be
null and dereferenced a couple of lines later.

Reported by Coverity as CID #1308281
2015-07-07 18:26:33 +02:00
Riccardo Magliocchetti 06e96275d9 plugins/webdav: correct variable reference
We probably want to check againt rlen2 instead of rlen.

Reported by Coverity as CID #1308278
2015-07-07 18:22:12 +02:00
Riccardo Magliocchetti fc1e9407c7 plugins/airbrake: remove dead code
p is checked for null inside a while(p) loop.

Reported by Coveriy as CID #1308279
2015-07-07 18:18:57 +02:00
Riccardo Magliocchetti 837da66440 plugins/router_access: fix copy-paste error
Reported by Coverity as CID #1308276
2015-07-07 18:16:24 +02:00