Hi Walt, > Also appears to be another list "inprogress_sop_list" > > what is that used for?
So, the inprogress_sop_list keeps track of all the server state machines that are in progress. When a server gets a signal, the earlier behavior was to exit which was not exactly graceful. Instead, we added this feature whereby all the currently progressing state machines are drained before the server exits. How do we know when all those operations have finished? When the inprogress_sop_list becomes empty, all previously posted server operations have finished and/or timed out. (server_state_machine_complete() dequeues from the inprogress_sop_list and server_state_machine_start() enqueues it) The lifecycle of an s_op is as follows start out in the posted_sop_list() (unexpected message sm) move to the inprogress_sop_list() deleted from either list and freed thanks, Murali > I'm not sure what happens with the post_sop_list - the function frees > the sop ... which is freed elsewhere, but maybe the elsewhere will never > be executed since the server is exiting, but it doesn't seem to tell BMI > to remove the messages, so I don't think it will prevent their being > used, only now that pointer is potentially a problem (having been freed). > > As for my changes, I'm not sure bu probably an smcb is needed there, not > an s_op, but I'll have to look at it. > > What is the inprogress list ised for? > > Walt > > Murali Vilayannur wrote: > > Hi Walt, > > > > > >>server_purge_unexpected_recv_machines(void) > >> > >>is that a new function? and under what circumstances is it used? > > > > > > Fairly recent function. This gets called only from the signal handler for > > the server and what it does is to remove any previously posted sm's > > to field unexpected messages in preparation for the server to exit. > > So no more new messages will be received after the server gets a signal to > > terminate gracefully. > > Thanks, > > Murali > > -- > Dr. Walter B. Ligon III > Associate Professor > ECE Department > Clemson University > > _______________________________________________ Pvfs2-developers mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
