I straced bash, and I think this is what ends up causing job control to be disabled:
ioctl(255, SNDRV_TIMER_IOCTL_SELECT or TIOCSPGRP, [1144]) = -1 ENOTTY (Inappropriate ioctl for device)
255 is stderr duped to a high fd, so it looks like whatever stderr is mapped to is not a tty.
I straced bash, and I think this is what ends up causing job control to be disabled:
ioctl(255, SNDRV_TIMER_ IOCTL_SELECT or TIOCSPGRP, [1144]) = -1 ENOTTY (Inappropriate ioctl for device)
255 is stderr duped to a high fd, so it looks like whatever stderr is mapped to is not a tty.