Jason T. Greene wrote: >Doesn't this currently work without your patch? > it does if we add O_ASYNC to the defines in dio
the pcntl patch just fixes class based callbacks.. *the memory leaks I mentioned earlier where due to creating the signal connections before forking. - works OK if you connect the signals after forking. regards alan > >-Jason > > >On Thu, 2002-08-08 at 02:49, Alan Knowles wrote: > > >>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) >>} >> >>?> >> >> >> >> >> >> >> > > > > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php