91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL server端接收連接后fork進程

發布時間:2020-03-22 11:38:44 來源:網絡 閱讀:640 作者:yzs的專欄 欄目:數據庫
main->PostmasterMain->ServerLoop:
	for(;;){
		...
		//會阻塞在這,監視文件描述符的變化
		selres = select(nSockets, &rmask, NULL, NULL, &timeout);
		if (selres > 0){
			for (i = 0; i < MAXLISTEN; i++){
				//找一個有效的fd
				if (ListenSocket[i] == PGINVALID_SOCKET)
					break;
				if (FD_ISSET(ListenSocket[i], &rmask)){
					port = ConnCreate(ListenSocket[i]);->StreamConnection->accept
					BackendStartup(port);//fork進程
					|--	pid = fork_process();
					|	if (pid == 0){//child
					|		InitPostmasterChild();
					|		ClosePostmasterPorts(false);
					|		BackendInitialize(port);
					|		//該函數不會返回
					|		BackendRun(port);->PostgresMain:
					|		|--	for (;;){
					|		|		if (send_ready_for_query){
					|		|			...
					|		|			ReadyForQuery(whereToSendOutput);->pq_flush();->internal_flush->secure_write->secure_raw_write->send
					|		|			send_ready_for_query = false;
					|		|		}
					|		|		firstchar = ReadCommand(&input_message);
					|		|		switch(firstchar):{
					|		|			case 'Q':exec_simple_query(query_string);
					|		|			...
					|		|		}
					|		|--	}
					|	}
					|	...father
					|--	return STATUS_OK	
					//關閉father socket
					StreamClose(port->sock);
					ConnFree(port);
				}
			}
		}
	}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河间市| 织金县| 额济纳旗| 剑川县| 大名县| 平乡县| 建平县| 灌南县| 柞水县| 山东省| 江达县| 响水县| 宣武区| 星子县| 班玛县| 杭锦旗| 武义县| 金川县| 安泽县| 苏州市| 瑞昌市| 乌拉特前旗| 喀喇沁旗| 进贤县| 张家港市| 永城市| 象山县| 长岭县| 平阴县| 贵德县| 达孜县| 上蔡县| 天台县| 湾仔区| 从化市| 农安县| 保靖县| 阿巴嘎旗| 都江堰市| 佳木斯市| 遵义县|