Commit Graph

215 Commits

Author SHA1 Message Date
f74f67540f Added spinlock protection for the session association to the DCB and
reworked the reference count mechanism on the session.  Introduced a
FREE state for the session and alter the session destruction flow so
that we only remove the session when all the DCB's have singled they
have finished processing events for the DCB rather than when the first
thread decides to clsoe the DCB.
2013-09-04 12:24:59 +02:00
8e97974216 Fixed return rc after:
routeQuery()
(dcb->func).close(dcb);

This will prevent setting again dcb->sate = DCB_STATE_POLLING in return_rc label.

The log entry for 

[gw_read_client_event] ioctl FIONREAD for fd 21 failed. errno 9, Bad file descriptor. dcb->state = 3

now is not present anymore.
2013-09-03 14:42:47 +02:00
31cda5ad65 Added session refcount in session.h
The refcount is incremented in dcb_connect and in mysql_client.c after session_alloc
2013-09-02 10:26:34 +02:00
757a043386 Replaced oinlined protocol creation with call to mysql_protocol_init. Clean up. 2013-09-01 00:36:31 +03:00
527df6c7f3 Merge, mostly. 2013-08-28 23:26:09 +03:00
d0d68a69ca Added DCB_STATE_XXX in EPOLLIN/EPOLLOUT handlers and in accept() 2013-08-27 10:08:03 +02:00
0a182913a1 in gw_MySQLAccept moved authentication packet send before adding new dcb to epoll set. 2013-08-23 22:39:42 +03:00
8dfd5de923 Fix merge 2013-08-22 00:01:44 +03:00
b6ba1954f5 Merge 2013-08-19 08:48:33 +03:00
21dabda848 Removed redundant log writings. 2013-08-20 10:49:35 +03:00
2ad0b12d79 Check dcb->status and set new state with writeqlock on. 2013-08-19 19:41:47 +03:00
05a3978442 Modified gw_read_client_event so that it only calls mysql_send_ok after new sessions has been set up and initialized. 2013-08-19 13:02:04 +03:00
97b3da1d79 Added simple_mutex_t dcb->mutex to DCB struct to protect processing of single dcb in poll.c:poll_waitevents. This is a coarse locking but seems to work with multiple threads at least with very simple load.
Added trace logging to many locations.
2013-08-16 23:52:10 +03:00
3357748aad Some typos fixed 2013-08-02 10:00:56 +02:00
a7c82310f9 moving files to /server to make merge possible 2013-07-28 05:31:11 +00:00