From: Eric Roman (ESRoman_at_berkeley_dot_edu)
Date: Tue Mar 13 2007 - 09:39:05 PST
Howard, You need to handle the EINTR from select. Right now we use a real time signal for the checkpoint. This interrupts the select call, and takes us into the handlers. When we restart the process, glibc resumes as though select had been interrupted. Some system calls get retried by the kernel, but select is one of the special ones. The behavior should be like dealing with any other signal during select. Eric On Fri, Mar 09, 2007 at 02:38:39PM -0700, Howard Pritchard wrote: > Hello BLCR folks, > > I have an application which uses tcp, but which I will need > to have work with BLCR. > > I plan to use the thread-based callback approach for handling > the network issues. > > I have a question about the behavior of select function across > a checkpoint/restart however. By the time the application > will be able to checkpoint, the only fd's in the select fd > sets will be pipes connected to child processes. > > When the checkpointed application is restarted, will the > process return from select with errno set to EINTR? or will > it continue to be parked in the kernel in the select call? > > Thanks for any help, > > Howard > > -- > Howard Pritchard howardp_at_cray_dot_com > 206-579-2536(cell) > http://insidecray.us.cray.com/~howardp -- Eric Roman Department of Physics 510-642-7302 UC Berkeley