It sounds actually like you have a logic problem there. You want to send a signal to the master when all the rooms have finished. But none of the rooms have this information, if the are spawning independently.
Something you could do is, for each room, report two things back to the master:
1 I have just started
2 I have finished.
The master can make a count of the number of rooms from 1, and knows it has to wait for 2 ( * number of rooms ), before proceeding.
The only timing assumption here is that one room is not very late. In that case, the master will assume everything is done, when one room is still to start.
Another option is that the master hands out ‘room tokens’. Each new room must have a room token before it can start. The master has a limited number and will wait until all tokens have been given the green light.