Re: pcntl - class callbacks // dio ASYNC

From: Date: Mon, 12 Aug 2002 13:38:42 +0000
Subject: Re: pcntl - class callbacks // dio ASYNC
References: 1 2 3  Groups: php.dev 
Request: Send a blank email to php-dev+get-86738@lists.php.net to get a copy of this message
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) } ?>


« previous php.dev (#86738) next »