Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/photon/lib_ref/ph/pheventnext.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/photon/lib_ref/ph/pheventnext.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/photon/lib_ref/ph/pheventnext.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/photon/lib_ref/ph/pheventnext.html on line 8
Provide synchronous event notification
int PhEventNext( void *buffer,
unsigned size );
ph
This function provides a completely synchronous
event-notification mechanism. It causes the application to
become REPLY-blocked on the currently
attached Photon channel until an event occurs.
For asynchronous event notification, see
PhEventRead()
and
PhEventArm().
If the application's event queue contains an event when this
call is made, Photon replies immediately with that event.
- Ph_EVENT_MSG
- Successful completion.
- Ph_RESIZE_MSG
- The Ph_DYNAMIC_BUFFER flag was set in
PhAttach(), and
there's a pending Photon event that's larger than the client's
event buffer. This event that indicates how large the client's
buffer needs to be to receive the entire event message.
- -1
- An error occurred.
#define EVENT_SIZE sizeof( PhEvent_t ) + 1000
main( int argc, char *argv[] )
{
PhEvent_t *event;
if( initialize() == -1 )
exit( EXIT_FAILURE );
if( NULL == ( event = malloc( EVENT_SIZE ) ) )
exit( EXIT_FAILURE );
while( 1 ) {
switch( PhEventNext( event, EVENT_SIZE ) ) {
case Ph_EVENT_MSG:
PtEventHandler( event );
break;
case -1:
perror( "PhEventNext failed" );
break;
}
}
}
Photon
Safety: | |
Interrupt handler |
No |
Signal handler |
No |
Thread |
No |
PhAttach(),
PhEvent_t,
PhEventPeek(),
PhEventRead(),
PhGetMsgSize(),
PtEventHandler()
“Collecting events”
in the Events chapter of the Photon Programmer's Guide
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/photon/lib_ref/ph/pheventnext.html on line 173
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/photon/lib_ref/ph/pheventnext.html on line 173