Ok, I will take a look at that. Thanks for the patch, class callbacks
were actually on my todo list. I just haven't had much time to work on
php lately, but I will work on merging it with the following features:
ticks back-end replacement
system call interruption ability
-Jason
On Mon, 2002-08-12 at 08:38, Alan Knowles wrote:
> 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