the st has a bug when:
1. master process start.
2. st_init, initialize st.
3. st_netfd_open, or other fd operations.
4. fork work processes
5. sometimes got a bug: st_poll detect a fd has data to read, but actually no data and read will be blocked. it seems the fd state is "wrong" whatever.
workaround: fork processes then use st.
Sounds like this could be either a misunderstanding about how to use ST, or an OS bug. Does the problem occur only when accepting a new connection on a socket? Perhaps you need to use st_netfd_serialize_accept() and/or update that function's implementation for your platform. If it happens with other functions please provide a small, simplified test program to reproduce the issue, along with the results it produces on your system and the results you expect it to produce.