EINVAL fd is bound to a special file (e.g., a pipe, FIFO, or socket) which does not support synchronization.
[EINVAL] The fildes argument does not refer to a file on which this operation is possible.