let iter s f =
    try
      locked := true ;
      Dset.iter f gsection.(s_index s) ;
      locked := false ;
    with e ->
      locked := false ; raise e