5515c71988 
					 
					
						
						
							
							Reapply MXS-504 changes subsequent to optimisation changes. Merge SSL processing into non-SSL processing so far as possible, correct usage of OpenSSL, simplify where possible.  
						
						
						
						
					 
					
						2016-01-13 10:08:37 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fb5fdb17db 
					 
					
						
						
							
							Switch bitmask_clear to be locking and offer bitmask_clear_without_spinlock for non-locking version, in response to review comments. Revert poll.c to use bitmask_clear (with locking) and amend dcb.c to use the non-locking version and to take advantage of the return of an indication of whether the whole bitmask is then clearn.  
						
						
						
						
					 
					
						2016-01-08 13:47:34 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aa79e61aac 
					 
					
						
						
							
							Various optimisations of bitmask processing. External change is that bitmask_clear() does not apply a spinlock, so must be called with exclusive access to the bitmask. This affects the call in shutdown processing in poll management. The call from DCB processing is safe because zombie processing has exclusive access to DCBs.  
						
						
						
						
					 
					
						2016-01-08 13:47:34 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e3e8a59555 
					 
					
						
						
							
							Allow hangup event also when EPOLLRDHUP is not available.  
						
						... 
						
						
						
						When generating a fake hangup event, EPOLLRDHUP is used if available,
otherwise EPOLLHUP. process_pollq(int) does the same thing both in the
case of EPOLLRDHUP and EPOLLHUP, so it seems this should work. 
						
						
					 
					
						2015-12-08 10:14:10 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6c401b9085 
					 
					
						
						
							
							Reindent server/core/poll.c  
						
						
						
						
					 
					
						2015-11-30 18:57:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						916ee5ff2a 
					 
					
						
						
							
							Rename some log concepts  
						
						... 
						
						
						
						The mxs prefix is now uniformly used with all log components. 
						
						
					 
					
						2015-11-26 17:34:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						038877b8db 
					 
					
						
						
							
							Fixed minor format errors and resource leaks  
						
						... 
						
						
						
						Some format strings used integer values for unsigned integers.
Memory and file descriptors leaked in some error conditions. 
						
						
					 
					
						2015-11-25 12:43:49 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a8535f42af 
					 
					
						
						
							
							Remove all traces of logfile_t  
						
						... 
						
						
						
						The earlier log file based approach for enabling and disabling
messages has now been completely replaced with the syslog priority
based approach.
Similarly as with log files before it is now possible to enable
and disable a log priority for a particular session, even though
it apparently has not been used much.
The local test-programs of the logging has got minimal attention
only to make them compile. They should get an overhaul as they did
not work before either. 
						
						
					 
					
						2015-11-23 19:10:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						910ddb99fd 
					 
					
						
						
							
							Reset sessionid upon exit.  
						
						... 
						
						
						
						Since the sessionid is now unconditionally set, it also needs to
be unconditionally reset. 
						
						
					 
					
						2015-11-23 18:44:38 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						62b0e5fab0 
					 
					
						
						
							
							Session info always copied to tls  
						
						... 
						
						
						
						Maxadmin earlier gave the impression that you could change whether
messages for different log files could be specifically enabled for
a session. In practice that was true only for trace messages as the
session id and the bitmask telling what logfiles are enabled, were
copied to thread local storage only as far as trace messages were
concered.
The code for setting that information in place is quit short and
efficient, so there is really no reason not to do that always.
This also means that it always will be possible to get your hands
on the session object if there is a need for that. 
						
						
					 
					
						2015-11-23 18:14:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						44df53d846 
					 
					
						
						
							
							LOGIF and skygw_write_log removed from server/core/*.c  
						
						... 
						
						
						
						LOGIF and skygw_write_log removed from server/core/*.c and
replaced with calls to MXS_(ERROR|WARNING|NOTICE|INFO|DEBUG).
This is a mechanism change, no updating of the actual message
has been performed.
Currently this causes a very small performance hit, since the
check whether the priority is enabled or not is performed in
the function that is called and not before the function is called.
Once all LOGIFs and skygw_write_logs have been replaced, the
behaviour will be altered back to what it was. 
						
						
					 
					
						2015-11-16 09:49:12 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2dcdab29b6 
					 
					
						
						
							
							LOGIF_MAYBE macros cleaned away.  
						
						... 
						
						
						
						Used in few places and only obscured what was going on. 
						
						
					 
					
						2015-11-14 22:28:17 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						86dcd1cc0f 
					 
					
						
						
							
							LOGIF_MAYBE macros cleaned away.  
						
						... 
						
						
						
						Used in few places and only obscured what was going on. 
						
						
					 
					
						2015-11-14 21:51:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						dee20fe077 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into MXS-329-develop-20151111  
						
						... 
						
						
						
						# Conflicts:
#	server/core/CMakeLists.txt
#	server/core/buffer.c
#	server/core/service.c
#	server/modules/filter/tee.c
#	server/modules/monitor/mysql_mon.c
#	server/modules/routing/binlog/blr.c
#	server/modules/routing/binlog/blr_slave.c
#	server/modules/routing/debugcmd.c
#	server/modules/routing/readwritesplit/readwritesplit.c
#	utils/skygw_utils.cc
- resolved. 
						
						
					 
					
						2015-11-11 11:08:02 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						834a88aeda 
					 
					
						
						
							
							Log variables moved to log_manager.h  
						
						... 
						
						
						
						The log manager variables lm_enabled_log_files_bitmask, log_ses_count
and tls_log_info that earlier were declared separately in every
c-file are now declared in the log_manager.h header. 
						
						
					 
					
						2015-11-04 14:26:53 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						57f5dd15bc 
					 
					
						
						
							
							Resolve problem of lingering backend database processes; alter MySQL monitor to insert fake events when backend server unavailable; fix problem with count of current connections.  
						
						
						
						
					 
					
						2015-10-16 17:55:07 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						88716c35fb 
					 
					
						
						
							
							Various changes to block loopholes in different cases and tidy up.  
						
						
						
						
					 
					
						2015-09-21 09:23:22 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cfeaf7d6e9 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/develop' into MXS-329  
						
						... 
						
						
						
						Conflicts:
	server/core/session.c 
						
						
					 
					
						2015-09-10 13:07:27 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f6916a23bd 
					 
					
						
						
							
							Move responsibility for closing DCB on error to router error handling. Check that routers remove or disable links to closed DCB.  
						
						
						
						
					 
					
						2015-09-09 09:33:00 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						160bbb70ee 
					 
					
						
						
							
							MXS-251: strerror  
						
						... 
						
						
						
						Replaces all calls to strerror with calls to strerror_r. The former
is non-thread safe while the latter is. 
						
						
					 
					
						2015-09-05 15:52:13 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5338318900 
					 
					
						
						
							
							Improve error message when DCB has no session pointer in poll loop.  
						
						
						
						
					 
					
						2015-08-28 17:25:41 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						70d82fd45e 
					 
					
						
						
							
							Fixed compilation problems.  
						
						
						
						
					 
					
						2015-08-26 18:33:46 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						72b301785b 
					 
					
						
						
							
							Complete implementation of error logging when no session pointer in DCB.  
						
						
						
						
					 
					
						2015-08-25 12:25:36 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e7c74c39cf 
					 
					
						
						
							
							Fix bug in persistent connections; add code to check for DCB session pointer in poll loop before invoking processing.  
						
						
						
						
					 
					
						2015-08-25 12:19:02 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8425deab18 
					 
					
						
						
							
							Fixed bugs by moving setting of thread bit mask from polling to DCB closing, fixed other mistakes.  
						
						
						
						
					 
					
						2015-08-25 11:46:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						12922225b8 
					 
					
						
						
							
							Remove redundant DCB state DCB_STATE_FREED, remove obsolete assertion from poll.c, tidy up.  
						
						
						
						
					 
					
						2015-08-25 09:11:44 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						37ac158791 
					 
					
						
						
							
							Changes to try to eliminate setting dcb->session to NULL with risk of crashing system.  
						
						
						
						
					 
					
						2015-08-24 12:12:43 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5e2e2585ad 
					 
					
						
						
							
							Fix mistakes.  
						
						
						
						
					 
					
						2015-08-23 16:43:07 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1baf693b02 
					 
					
						
						
							
							First changes for lazy session creation.  
						
						
						
						
					 
					
						2015-08-23 16:39:08 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						087c2fca46 
					 
					
						
						
							
							Block out new test for the time being.  
						
						
						
						
					 
					
						2015-08-23 10:09:42 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6b2d90fc50 
					 
					
						
						
							
							Add check so DCB can't be added to poll list without a linked session; small safety improvement in session; tidying.  
						
						
						
						
					 
					
						2015-08-23 09:34:26 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						53c3cc4b41 
					 
					
						
						
							
							Fix mistake; tidy format.  
						
						
						
						
					 
					
						2015-08-22 19:14:40 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						139d4829a9 
					 
					
						
						
							
							Further refinement of poll_remove_dcb function to ensure proper delayed release of a DCB that may be in the poll list and should only be destroyed after all threads have completed any operations on it; add comments describing implementation limitations in the bitmask processing.  
						
						
						
						
					 
					
						2015-08-20 06:58:05 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						38f78c7239 
					 
					
						
						
							
							Fix possible threading problem.  
						
						
						
						
					 
					
						2015-08-19 17:23:49 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						98ab399e6e 
					 
					
						
						
							
							Changed sprintf calls to snprintf calls and fixed compiler warnings.  
						
						
						
						
					 
					
						2015-08-18 10:50:48 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						260f829046 
					 
					
						
						
							
							Add blank line to start of Document Contents (link otherwise not rendered correctly by web site); move upgrade documents into their own directory; modify poll.c to fix problem relating to cloned DCBs.  
						
						
						
						
					 
					
						2015-07-15 08:35:50 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						78eab19c62 
					 
					
						
						
							
							Fixed compiler warnings.  
						
						
						
						
					 
					
						2015-07-14 17:13:09 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3992f262ca 
					 
					
						
						
							
							Fixed Coverity defects  
						
						
						
						
					 
					
						2015-07-14 16:17:50 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3ddbe47f8b 
					 
					
						
						
							
							Minor tidy up, including removing obsolete MUTEX_BLOCK.  
						
						
						
						
					 
					
						2015-07-13 14:32:54 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ef6728344e 
					 
					
						
						
							
							Fixed failures to close cloned DCBs.  
						
						
						
						
					 
					
						2015-07-13 13:11:43 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						77db46359e 
					 
					
						
						
							
							Change poll control failures to use SIGABRT rather than assert(false).  
						
						
						
						
					 
					
						2015-07-08 08:52:19 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4c8aa02c31 
					 
					
						
						
							
							Finalise comments; change abort from assert(false) to raise(SIGABRT).  
						
						
						
						
					 
					
						2015-07-07 16:57:13 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						be789855ee 
					 
					
						
						
							
							Add lines to revision history.  
						
						
						
						
					 
					
						2015-07-07 16:57:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fffd8fb73a 
					 
					
						
						
							
							Unify DCB close processing to single function dcb_close. Remove dcb_add_to_zombieslist (incorporating logic into dcb_close). Alter logic so that DCB that is just allocated will still go to zombie list if dcb->fd is not closed.  
						
						
						
						
					 
					
						2015-07-07 16:57:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						77d374cd52 
					 
					
						
						
							
							Fix mistake.  
						
						
						
						
					 
					
						2015-07-07 16:57:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						18a95eeb71 
					 
					
						
						
							
							Simplify adding and removing DCBs from polling, improve error handling. Remove dcb_set_state functions as not adding value.  
						
						
						
						
					 
					
						2015-07-07 16:57:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a72f462e2d 
					 
					
						
						
							
							Fixes for MXS-196 and other related problems.  
						
						
						
						
					 
					
						2015-07-07 16:57:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e14b29baf9 
					 
					
						
						
							
							Fix to MXS-212:  https://mariadb.atlassian.net/browse/MXS-212  
						
						... 
						
						
						
						The listener DCB is now properly closed instead of just being removed from the poll set. 
						
						
					 
					
						2015-06-21 12:51:54 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						04b969efaa 
					 
					
						
						
							
							Fixed poll.c include with old header name.  
						
						
						
						
					 
					
						2015-03-12 07:39:39 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						63d83cd85d 
					 
					
						
						
							
							Monitor API 2.0.0 implemented.  
						
						
						
						
					 
					
						2015-03-11 15:18:55 +02:00