Re: pcntl - class callbacks // dio ASYNC
| From: | Alan Knowles | Date: | Thu, 08 Aug 2002 07:49:51 +0000 |
| Subject: | Re: pcntl - class callbacks // dio ASYNC | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-86627@lists.php.net to get a copy of this message | ||
this efree needs removing..
+ + efree(*call_name); + DEBUG_OUT("done call_user function\n");
+ /*call_user_function(EG(function_table), NULL, call_name, &retval, 1, ¶m TSRMLS_CC); */
}
I can now use the dio with ASYNC like this..
<?
dl('dio.so');
/* signal callbacks
....
*/
function got_data() {
global $fd;
$data = dio_read($fd,256);
if ($data) {
echo $data;} } $fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK); dio_fcntl($fd,F_SETOWN,posix_getpid()); dio_fcntl($fd,F_SETFL, O_ASYNC ); //dio_fcntl($fd,F_SETFL, O_SYNC ); pcntl_signal(SIGIO, 'got_data'); dio_tcsetattr($fd, array( 'baud' => 9600, 'bits' => 8, 'stop' =>1, 'parity' => 0 )); echo "STARTING READ"; while (1) { usleep(1) } ?>