Brazilian soldiers and drug gang members have engaged in an intense and prolonged gunbattle in a Rio de Janeiro slum that killed at least one person.

Traffic on a main highway halted at one point, with motorists sheltering behind cars and buses as soldiers and gang members traded gunfire Wednesday.

The fighting calmed at nightfall, and authorities confirmed the death of one suspected gang member.

The violence erupted early Wednesday when rival gangs began fighting in the Mare complex of slums, which have been patrolled by troops since April. Soldiers then intervened.

Mare is one of several impoverished areas in Rio where police or soldiers have tried to push out gangs and set up permanent posts as part of efforts to make Rio safer ahead of the 2016 Olympics.