diff --git a/lock.c b/lock.c index 13a95971..7ab6b5a9 100644 --- a/lock.c +++ b/lock.c @@ -79,10 +79,10 @@ void uwsgi_rwlock_init(void *lock) { #define UWSGI_LOCK_SIZE sizeof(struct umtx) #define UWSGI_RWLOCK_SIZE sizeof(struct umtx) -#define uwsgi_rwlock_init uwsgi_lock_init -#define uwsgi_rlock uwsgi_lock -#define uwsgi_wlock uwsgi_lock -#define uwsgi_rwunlock uwsgi_lock +void uwsgi_rwlock_init(void *lock) { uwsgi_lock_init(lock) ;} +void uwsgi_rlock(void *lock) { uwsgi_lock(lock);} +void uwsgi_wlock(void *lock) { uwsgi_lock(lock);} +void uwsgi_rwunlock(void *lock) { uwsgi_unlock(lock); } void uwsgi_lock_init(void *lock) { umtx_init((struct umtx*) lock); @@ -131,16 +131,24 @@ void uwsgi_rwunlock(void *lock) { uwsgi_unlock(lock); } #ifdef UWSGI_LOCK_USE_FLOCK +#define UWSGI_LOCK_SIZE 8 +#define UWSGI_RWLOCK_SIZE 8 + void uwsgi_lock_init(void *lock) {} void uwsgi_lock(void *lock) { - if (flock((int) *lock, LOCK_EX)) { uwsgi_error("flock()"); } + //if (flock((int) *lock, LOCK_EX)) { uwsgi_error("flock()"); } } void uwsgi_unlock(void *lock) { - if (flock((int) *lock, LOCK_UN)) { uwsgi_error("flock()"); } + //if (flock((int) *lock, LOCK_UN)) { uwsgi_error("flock()"); } } +void uwsgi_rwlock_init(void *lock) { uwsgi_lock_init(lock) ;} +void uwsgi_rlock(void *lock) { uwsgi_lock(lock);} +void uwsgi_wlock(void *lock) { uwsgi_lock(lock);} +void uwsgi_rwunlock(void *lock) { uwsgi_unlock(lock); } + #endif diff --git a/plugins/python/wsgi_handlers.c b/plugins/python/wsgi_handlers.c index 5a29260a..4940967c 100644 --- a/plugins/python/wsgi_handlers.c +++ b/plugins/python/wsgi_handlers.c @@ -47,7 +47,7 @@ static PyObject *uwsgi_Input_read(uwsgi_Input *self, PyObject *args) { if (uwsgi.post_buffering > 0) { fd = -1; if (self->wsgi_req->post_cl <= (size_t) uwsgi.post_buffering) { - fd = fileno(self->wsgi_req->async_post); + fd = fileno((FILE *)self->wsgi_req->async_post); } } else { diff --git a/uwsgiconfig.py b/uwsgiconfig.py index af61f65e..121ba5e4 100644 --- a/uwsgiconfig.py +++ b/uwsgiconfig.py @@ -256,7 +256,7 @@ class uConf(object): if int(sun_major) >= 5: if int(sun_minor) >= 10: event_mode = 'port' - elif uwsgi_os in ('Darwin', 'FreeBSD'): + elif uwsgi_os in ('Darwin', 'FreeBSD', 'OpenBSD'): event_mode = 'kqueue' if event_mode == 'epoll':