For Unix-like operating systems, Simics will register its built-in signal handlers to make system calls restartable after the signal has been handled (cf. the SA_RESTART flag in the sigaction(2) man page).
However, only some system calls are restartable, so when writing modules for Simics, you have to make sure that you restart the other system calls yourself:
do { res = accept(sock, &saddr, &slen); } while (res == -1 && errno == EINTR);