fix syserr cb and add fileno