And in the end, if he's crabby with S, then set a boundary there. "H, if you are upset about something, do not take it out on S."
I have. Sometimes he listens, mostly he just runs off.
If he's crabby, he'll take it out on everyone... Well, S and me, no one else. He would never yell at the mailman or the clerk at the grocery store. Maybe that's normal. It just looks immature from an outside viewpoint. It is affecting his R with son, in a way. S has said things to him before. He's more receptive and will back off when S points it out to him than when I do. No one's life is in danger, H isn't out of control angry, just crabby. I'll do what I can for S, the rest is H's problem. I have no problem not owning that one.