502 Commits

Author SHA1 Message Date
Massimiliano Pinto
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
vraatikka
b86d3f3dfd Holding error log's block buffer registration until all logs were written caused deadlock if block buffers were full. Now buffer registrations don't overlap. 2013-09-02 10:30:50 +03:00
vraatikka
ce0085a078 Clean up. 2013-09-01 00:37:49 +03:00
vraatikka
757a043386 Replaced oinlined protocol creation with call to mysql_protocol_init. Clean up. 2013-09-01 00:36:31 +03:00
vraatikka
9df2040a8a Removed unused variables, changed call to mysql_protocol_init to reflect new prototype. 2013-09-01 00:32:57 +03:00
vraatikka
88ffcaa3d4 Removed 'extern' keyword from function declaration in headers. Functions are 'extern' by default.
Changed mysql_protocol_init prototype and implementation to return MySQLProtocol pointer instead of boolean.
2013-09-01 00:30:46 +03:00
vraatikka
9bf0f58526 introduce mysql_protocol_init. 2013-08-31 23:54:35 +03:00
vraatikka
3dff91e80f In gw_create_backend_connection, replaced inlined protocol init with call to mysql_protocol_init (mysql_common.c). Replaced fprintfs with logging commands. 2013-08-31 23:51:54 +03:00
vraatikka
c23168ed71 gw_do_connect_to_backend returned zero in case where connect failed with errno EINPROGRESS. Should have returned 1 to indicate that connection will be established asynchronously.
In the same case, checking for error by using getsockopt should be done when select returns, not after connect (man 2 connect).
2013-08-31 23:45:40 +03:00
vraatikka
9d6b13c288 Replaced macros with enumereted type. 2013-08-31 12:04:02 +03:00
Mark Riddoch
a445b6ff37 Fixes for NULL test for function returns such as malloc() - as reported by Coverity 2013-08-29 13:34:21 +02:00
Mark Riddoch
03725cabe3 Fixed compile issue in dcb.h 2013-08-29 13:17:19 +02:00
vraatikka
94a8ad68d3 Checked for bug #178. Added error logs to suitabl places. 2013-08-29 09:50:16 +03:00
vraatikka
527df6c7f3 Merge, mostly. 2013-08-28 23:26:09 +03:00
vraatikka
48165bf5cd Removed unused protocol_mutex and references to it. 2013-08-28 23:25:27 +03:00
vraatikka
134c33776e Added consistency check fields, and switched macros to enumerated types. 2013-08-28 23:23:05 +03:00
vraatikka
50a3cfdf49 Commented out some dead code. 2013-08-28 23:17:18 +03:00
vraatikka
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
vraatikka
f2f119f692 Removed some dead code 2013-08-28 23:08:51 +03:00
vraatikka
9a8e271417 client->data is copied to session->data already in session_alloc to ensure that authentication information is set when background connection is started to establish in concurrent thread. 2013-08-28 23:06:09 +03:00
vraatikka
786468fc5d Added status checks, removed some dead code, changed macros to enumerated types, renamed variables to reflect better what they mean. 2013-08-28 22:59:53 +03:00
vraatikka
8c8475740a Switched to booleans defined in stdbool.h 2013-08-28 22:49:27 +03:00
vraatikka
34b26ad85f Changed enum-type boolean to whta is defined in stdbool.h, and in practise replaced TRUEs and FALSEs with true, and false, respectively. 2013-08-28 22:47:14 +03:00
Massimiliano Pinto
ff109c6319 dcb->state set wheere missing or changed 2013-08-27 10:52:43 +02:00
Massimiliano Pinto
d0d68a69ca Added DCB_STATE_XXX in EPOLLIN/EPOLLOUT handlers and in accept() 2013-08-27 10:08:03 +02:00
vraatikka
49036894f5 In gw_connect_to_backend, first create socket, and establish socket connection, then in the end, dcb is added to epoll set. 2013-08-24 00:18:46 +03:00
vraatikka
df5f2f29b2 Removed undefined function declaration. Added trace and error log. 2013-08-23 23:25:12 +03:00
vraatikka
e345b23bcf Merge 2013-08-23 22:47:16 +03:00
vraatikka
6f0ccd7b42 Added static simple_mutex_t epoll_wait_mutex, which is acquired and released in poll_waitevents. 2013-08-23 22:45:06 +03:00
vraatikka
0a182913a1 in gw_MySQLAccept moved authentication packet send before adding new dcb to epoll set. 2013-08-23 22:39:42 +03:00
vraatikka
0612dae890 Added error log printing. 2013-08-23 22:31:08 +03:00
vraatikka
17975a1252 Fixed indentation. 2013-08-23 22:29:31 +03:00
vraatikka
c9ff06e0f5 Increased maximum path length from 180 to 255, and replaced sprintf with snprintf to prevent buffer overflow. 2013-08-23 22:27:40 +03:00
Massimiliano Pinto
52c30c3e58 Removed dcb->state set after func.close() 2013-08-23 14:17:00 +02:00
vraatikka
68a5a389ee Removed SS_DEBUG macros around necessary include directives. 2013-08-23 13:42:10 +03:00
vraatikka
481096ccef Added trace log to newSession and to closeSession. 2013-08-22 10:46:14 +03:00
vraatikka
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
vraatikka
4138281183 setvbuf was called before testing whether file creation succeed. That caused server to fail if MAXSCALE_HOME was exceptionally long. 2013-08-22 00:32:49 +03:00
vraatikka
b18d89300d Bug 179 2013-08-22 00:26:24 +03:00
vraatikka
8dfd5de923 Fix merge 2013-08-22 00:01:44 +03:00
vraatikka
76f31b6b08 Merge. 2013-08-21 23:34:56 +03:00
vraatikka
3cd5d7162a ifndef $(MARIADB_SRC_PATH) is not effective so changed to format ifndef MARIADB_SRC_PATH. 2013-08-21 23:32:28 +03:00
Massimiliano Pinto
73ffa5a648 dcb->data is allocated before poll_add_dcb in httpd_accept()
This will prevent dcb->data to be NULL with threads
2013-08-20 11:37:57 +02:00
vraatikka
21dabda848 Removed redundant log writings. 2013-08-20 10:49:35 +03:00
vraatikka
76de8f3758 log manager now spreads log writings 'down' so that LOGFILE_ERROR logs are duplicated in LOGFILE_MESSAGE, and in LOGFILE_TRACE, and LOGFILE_MESSAGE logs are duplicated in LOGFILE_TRACE. 2013-08-20 10:43:54 +03:00
vraatikka
2ad0b12d79 Check dcb->status and set new state with writeqlock on. 2013-08-19 19:41:47 +03:00
vraatikka
c5ed473ab7 Check return value of ioctl in dcb_read and act accordingly. 2013-08-19 19:40:51 +03:00
vraatikka
ea79b38e4f Check return value of dcb_read and if it failed, don't access head of linked list. 2013-08-19 19:39:47 +03:00
vraatikka
d6432b1750 Merge 2013-08-19 17:10:33 +03:00
vraatikka
45ea459e20 Check the return value of ioctl in dcb_read. 2013-08-19 17:09:33 +03:00