> > >After further thought, though, it's unclear to me why this solves >David's problem. If he's got a repeating SIGALRM on a cycle short >enough to interrupt a connect(), seems like it'd just fail again >on the next try. >
Ok, a few things. The connect() call is just an interface to the kernel. Sometimes a connect() to a socket may take a long time, even up to two minutes (or depending on your kernel's timeout), so it isn't unfeasible that the call can be interrupted. Next, the userland connect() is interrupted but the kernel isn't. The kernel keeps working it and eventually completes or aborts the connection attempt. It then sets the data structures and values so the next time userland comes alive it's ready for it. The connect() call doesn't restart at the beginning, it continues where it left off. David ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly