b is correct. She was happy. This is something that happened in the past. She was happy when she finally saw her son. "She hadn't seen her son for three years" is something that happened before that. So you have something that happened in the past (was happy) and something that happened further back in the past (hadn't seen). To express that, we use past perfect (I had done, I had seen etc.)
Hope that makes sense.