<div><div style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; font-size: 14.3999996185303px; line-height: 19.0399990081787px;">I read the unbound remote control code, I  know that unbound use pipe in the remote control logic.<span style="line-height: 1.5; font-size: 14px;">However, I am confused, I summary the steps as follows.</span></div><div style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; font-size: 14.3999996185303px; line-height: 19.0399990081787px;"><span style="font-size: 14px; line-height: 1.5;">Firstly,Unbound add pipe read side into I/O event list,so if the pipe has data, the select (epoll_wait) function return, and</span>execute<span style="font-size: 14px; line-height: 1.5;"> the callback function.</span></div><div style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; font-size: 14.3999996185303px; line-height: 19.0399990081787px;"><span style="font-size: 14px; line-height: 1.5;">Secondly,unbound receive user command,such as unbound-control </span>stub_add ***,and then <span style="line-height: 1.5; font-size: 14px;">the main thread first write the command type such as "</span>worker_cmd_remote" <span style="line-height: 1.5; font-size: 14px;">into all pipe write side via function worker_send_cmd,and then call function</span><span style="line-height: 1.5; font-size: 14px;">tube_write_msg write the command string to the pipe.</span></div><div style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; font-size: 14.3999996185303px; line-height: 19.0399990081787px;">Thirdly,because pipe has data to read,so the event callback function would be executed,and read the command type such as "<b>worker_cmd_remote</b>" from the pipe, and then call function tube_read_msg to read the command string,and then call function execute_cmd to exucte the command.</div><div style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; font-size: 14.3999996185303px; line-height: 19.0399990081787px;"><br></div><div style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; line-height: 19.0399990081787px;"><span style="font-size: 14.3999996185303px;">So  my question is that why unboun</span><font size="4">d d<span style="color: rgb(51, 51, 51); font-family: arial; line-height: 22px;">istinguish between the command </span></font><span style="font-size: 14.3999996185303px;">type & command string,I think we can send the command string to the child thread </span><span style="font-size: 14.3999996185303px; color: rgb(51, 51, 51); font-family: arial; line-height: 22px;">directly,and do not need send the command type firstly.<span id="_editor_bookmark_start_9" style="display: none; line-height: 0px;">‍</span></span></div></div><div style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; line-height: 19.0399990081787px;"><br></div><div><div style="color:#909090;font-family:Arial Narrow;font-size:12px">------------------</div><div style="font-size:14px;font-family:Verdana;color:#000;"><font size="2" face="Times New Roman" color="#339966">Best wishes for you</font><div><font size="2" face="Times New Roman" color="#339966">From Sure Ning</font></div><div><font face="Times New Roman" size="2" color="#339966"><span style="line-height: 19px;">Mail:isyes@foxmail.com</span></font></div><div><font face="Times New Roman" size="2" color="#339966"><span style="line-height: 19px;">Address:Beijing China(中国 北京)</span></font></div></div></div>