mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*****************************************************************************
 | 
						|
 | 
						|
Copyright (c) 1996, 2009, Innobase Oy. All Rights Reserved.
 | 
						|
 | 
						|
This program is free software; you can redistribute it and/or modify it under
 | 
						|
the terms of the GNU General Public License as published by the Free Software
 | 
						|
Foundation; version 2 of the License.
 | 
						|
 | 
						|
This program is distributed in the hope that it will be useful, but WITHOUT
 | 
						|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
						|
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 | 
						|
 | 
						|
You should have received a copy of the GNU General Public License along with
 | 
						|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 | 
						|
Place, Suite 330, Boston, MA 02111-1307 USA
 | 
						|
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
/**************************************************//**
 | 
						|
@file srv/srv0que.c
 | 
						|
Server query execution
 | 
						|
 | 
						|
Created 6/5/1996 Heikki Tuuri
 | 
						|
*******************************************************/
 | 
						|
 | 
						|
#include "srv0que.h"
 | 
						|
 | 
						|
#include "srv0srv.h"
 | 
						|
#include "sync0sync.h"
 | 
						|
#include "os0thread.h"
 | 
						|
#include "usr0sess.h"
 | 
						|
#include "que0que.h"
 | 
						|
 | 
						|
/**********************************************************************//**
 | 
						|
Enqueues a task to server task queue and releases a worker thread, if there
 | 
						|
is a suspended one. */
 | 
						|
UNIV_INTERN
 | 
						|
void
 | 
						|
srv_que_task_enqueue_low(
 | 
						|
/*=====================*/
 | 
						|
	que_thr_t*	thr)	/*!< in: query thread */
 | 
						|
{
 | 
						|
	ut_ad(thr);
 | 
						|
	ut_ad(mutex_own(&kernel_mutex));
 | 
						|
 | 
						|
	UT_LIST_ADD_LAST(queue, srv_sys->tasks, thr);
 | 
						|
 | 
						|
	srv_release_threads(SRV_WORKER, 1);
 | 
						|
}
 |