def METHOD_NAME( proclist, msg=None ):
    '''
    Takes a process object or a list of process objects and waits for
        them to complete.  The process objects will be started (if they
        have not been started already.
    Also accepts a message to output while waiting for process' to finish.
    If on a tty, a progress bar is twirled
    '''
    start = time.time()
    # Convert single process object to a list (if a list was not passed)
    procs = list()
    if not isinstance( proclist, list ):
        procs.append( proclist )
    else:
        procs = proclist
    for proc in procs:
        proc.start()
    for proc in procs:
        proc.join()
    end = time.time()
    return (end - start)