The result I want to achieve is this:
Master page reloads the slave page every few seconds and the slave page redirects to the master page each time it's loaded. I know it's hard to comprehend why it's needed, but it is.
The problem I'm having is this:
The master page doesn't wait the given seconds to reload the slave page, but reloads it instantly. And the slave page does as it should and redirects to the master loop which by itself makes an endless loop of instantaneous redirections.
What I've bolded is certainly changing the page, are you sure that that's not what you are mistaking for reload? Everytime the script gets to that line, ?m=history&sid=$sid&a=refresh will be loaded, so in effect, the timedRefresh function is never loaded at all.
And, in general, when using setTimeout or setInterval, using a function is preferable.