Above (3:5), it says that Eglah had a son, and Eglah Arufah is Michal (Sanhedrin 21a)!
Refer to 3:5:3:1,2 and the notes there.
Why did she not have children?
Radak citing Sanhedrin 21a: This was her punishment for despising David. Malbim citing Mahari - also, Hashem arranged that Shmuel not have many descendants, for He knew that the Giv'onim will kill all 1 Sha'ul's descendants. Would David kill his children, or have mercy on (spare) them, and people will say that there is favoritism 2 ?! Therefore He arranged that Michal not become pregnant from David.
The Giv'onim asked to kill only seven of Sha'ul's descendants, and Mefivoshes was spared (21:6-7)! However, Malbim (21:6) explains that the Giv'onim knew that Yehonason did not consent to eradicate Nov; asked to kill all Sha'ul's descendants from his other children. (PF)
Yevamos 79a says that David passed Sha'ul's descendants in front of the Aron, and those that the Aron absorbed were killed. David "had mercy on Mefivoshes" (21:7), i.e. he prayed that the Aron expel him; this did not look like favoritism! (PF)