Provide synchronous event notification
int PhEventNext( void *buffer,
unsigned size );
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.
If the application's event queue contains an event when this call is made, Photon replies immediately with that event.
#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(), PhEventPeek(), PhEventRead(), PhGetMsgSize()