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, &param 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

Reply via email to