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
db164be946
Added spinlock protection for refcount increase in dcb_connect
2013-09-04 10:00:40 +02:00
5487f84532
Added logging to session refcount increment. Some minor improvements.
2013-09-02 21:52:09 +03:00
f80bb51db1
dcb_close sets some session fields to NULL:
...
dcb->session->client = NULL;
dcb->session = NULL;
There is a local copy of dcb->seesion before setting it to NULL
2013-09-02 19:33:55 +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
ae9fce8591
Added write and read lock to DCB to protect concurrent threads fro executing EPOLLIN and EPOLLOUT events on same descriptor, respectively. Added consistency checks and trace logging.
2013-08-28 23:09:37 +03:00
0401290021
Added spinlock ses_lock to struct SESSION to ensure that for each session closeSession is called only once.
...
closeSession is called from mysql_backend.c:gw_read_backend_event, and from dcb.c:dcb_close.
This is part of Bug #163 .
2013-08-22 10:42:18 +03:00
8dfd5de923
Fix merge
2013-08-22 00:01:44 +03:00
b6ba1954f5
Merge
2013-08-19 08:48:33 +03:00
9fe7a83675
Fixes for resource leaks foudn with Coverity.
...
Bug 173, 174, 175, 176 and 177
2013-08-21 17:26:55 +02:00
21dabda848
Removed redundant log writings.
2013-08-20 10:49:35 +03:00
c5ed473ab7
Check return value of ioctl in dcb_read and act accordingly.
2013-08-19 19:40:51 +03:00
45ea459e20
Check the return value of ioctl in dcb_read.
2013-08-19 17:09:33 +03:00
c119f7b7b8
In dcb_close read and set dcb->state by holding dcb->writeqlock. This prevents simultaneous calls to closeSession.
2013-08-19 16:38:55 +03:00
24367fb400
Removed dcb->mutex since it didn't solve any problem.
2013-08-19 13:01:07 +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
7c0ed171a0
Added trace log to event handling.
2013-08-15 22:45:11 +03:00
a1b05359ac
Added trace log where epoll_wait returns and to where read fomr/write to socket decicion is made.
2013-08-15 20:16:23 +03:00
401d4920e4
Moved dcb_hashtable_stats from hastable.c to dcb.c to break dependency between hashtable and the rest of the maxscale. Added check fields to hashtable structure.
2013-08-05 11:51:10 +03:00
cae4d38a7e
Removed unnecessary argument from log manager commands because it is not used and it is always NULL.
2013-08-04 23:30:47 +03:00
a7c82310f9
moving files to /server to make merge possible
2013-07-28 05:31:11 +00:00