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