pass fd to data callback