Pragmaticamente, se o que você tem parece funcionar, e você não está esperando nenhuma mudança na configuração, ou se é uma invasão única, então fique com a sua solução.
No entanto, o Linux tem uma API para rs485 hardware apropriado, que você pode tentar. Alguns hardwares possuem um modo half-duplex integrado que funcionará se você colocar a porta serial no estado apropriado. Os ioctls são, por exemplo, para ativar o modo RS485:
#include <linux/serial.h>
struct serial_rs485 rs485conf = {0};
rs485conf.flags |= SER_RS485_ENABLED;
if (ioctl (fd, TIOCSRS485, &rs485conf) < 0) ...
ou defina o nível lógico para o pino RTS igual a 1 ao enviar:
rs485conf.flags |= SER_RS485_RTS_ON_SEND;