While on the subject of poll(), I've just found another bug in it! Consider: process a polls on fd process b polls on fd process a times out process c polls on fd fd is woken up now both processes should wake up but... process c continues process b stays sleeping bug is that selrecord() mustn't clear SI_COLL. David -- David Laight: david@l8s.co.uk