How can I set timeout for write() on linux pipe ?

example code:


int fd_pipe = open("/run/some/pipe", O_RDWR);

// here i need to set timeout for 3 seconds somehow, if can't write, code will...