write() system call(via rdma_get_cm_event) is not honoring a signal with flag SA_RESTART.
Hans Petter Selasky
hps at selasky.org
Thu May 19 12:30:23 UTC 2016
On 05/19/16 14:22, KrishnamRaju ErapaRaju wrote:
> I think it's not a regression.
> To verify it I have fetched the latest sources(both FreeBSD & OFED 3.2) and started building...
> Between, may I know when will OFED 3.2 patches be pushed to upstream?
> Also, before started building, I'd quickly replaced -ERESTARTSYS with -512 in ucma_get_event, I still don't see the write() system call getting restarted.
> Here are the return codes:
> ucma_get_event, returns -512
> rdma_get_cm_event, returns -1, errorno: 512
> So can FreeBSD understand the interrupted system call return value(-512) like Linux?
I need to check this a bit closer. Possibly you'll need to loop in the
application or library when you see errno 512.
More information about the freebsd-infiniband