[ofa-general] Re: Is ibv_get_async_event() a blocking call ?

Tang, Changqing changquing.tang at hp.com
Fri Mar 2 14:45:49 PST 2007


Thanks.

If I set fd to non-blocking mode, does ibv_get_async_event() return 0 is
there is an event,
And return non-0 if nothing ?

--CQ
 

> -----Original Message-----
> From: Roland Dreier [mailto:rdreier at cisco.com] 
> Sent: Friday, March 02, 2007 4:30 PM
> To: Steve Wise
> Cc: Tang, Changqing; General at lists.openfabrics.org
> Subject: Re: [ofa-general] Re: Is ibv_get_async_event() a 
> blocking call ?
> 
>  > > I wonder if libibverbs can do this way for application 
> and make  > > ibv_get_async_event() non-blocking. But I will 
> try this way now.
>  > >
>  >
>  > I wonder what happens if you set the async file descriptor 
> to  > non-blocking?
>  >
>  > Roland?  Would that return EWOULDBLOCK if there are no events?
> 
> Yes, as you can see if you look at the libibverbs internals,
> ibv_get_async_event() is just doing read() on a file 
> descriptor.  So all the standard ways of handling finding out 
> whether the descriptor is ready to read should work: block in 
> read(), use poll(), epoll, SIGIO, async IO, etc.  And using 
> fcntl to set the descriptor to non-blocking mode would work too.
> 
>  - R.
> 



More information about the general mailing list