Hello, guys<br><br>&nbsp;&nbsp;&nbsp; Now I am confused with the macro CHECK_BLOCKING and the channel blocker,<br><br>&nbsp; &nbsp; Firstly I have known that CHECK_BLOCKING is used for detecting some errors, for example, you cannot read an fd that has 
<br>polled somewhere. The chan_zap and chan_phone check the flag when read but other channels don&#39;t, Why? <br>&nbsp;&nbsp;&nbsp; Secondly, what is the reason for use CHECK_BLOCKING in some write functions, such as ast_write, ast_sendtext.
<br>&nbsp;&nbsp;&nbsp; Thirdly, I think that the assignment expression in ast_read() chan-&gt;blocker = pthread_self() is useless because no one knows<br>there is a blocker except the AST_FLAG_BLOCKING set.<br><br>&nbsp;&nbsp;&nbsp; Any information would be appreciated.
<br><br><br clear="all"><br>-- <br>&nbsp;&nbsp;&nbsp;&nbsp;Regards