Encontrei o problema com o "cache" real.
Eu tinha um pedaço de código que deixava um descritor de arquivo aberto em cada teste de unidade até que o programa preenchesse todos os espaços restantes para a alocação de fd. O erro estava na chamada python open()
quando estava abrindo com o argumento os.O_RDWR
em vez de os.O_RDONLY.
os.O_RDWR
deixava todos os descritores de arquivos abertos após a emissão de um comando ATA. Depois de alterá-lo para os.O_RDONLY
, o buffer de memória era legível e o descritor de arquivo foi fechado corretamente.
Espero que isso ajude alguém em um aperto.