Why one notify triggs the other one ?!

I’ve got these arming functions:

arm_rx(): // is char in rx buff / can do read() ?
ionotify( dev_fd, _NOTIFY_ACTION_POLLARM, _NOTIFY_COND_INPUT, &rx_sigevent );

arm_tx(): // is space in tx buff / can do write() ?
ionotify( dev_fd, _NOTIFY_ACTION_POLLARM, _NOTIFY_COND_OUTPUT, &tx_sigevent );

dev_fd - is /dev/ser1 file desc.

I’m doing: arm_rx(), write(), arm_tx()
and than when rx fires I do read() and arm_rx() again
and than tx fires too.

Why tx fires when I’m doing sth only with rx arming / read() ?