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