ofSerial - Multiple Devices

I am creating a program that needs to listen to 4 barcode readers via Serial/USB. Currently I am testing with two of the readers but as soon as try to read the bytes of the second instance of ofSerial my program hangs. Is there a way to listen to multiple devices?

   TechReader treader;
   treader.com = tport;
   treader.baud = tbaud;
   treader.scannerid = tscannerid;
   treader.serial = new ofSerial();
                            
   if(treader.serial->setup(tport, treader.baud))
   {
        _readers.push_back(treader);
   }

This issue may be because you are mixing pointers and copy by values when you push_back to the vector. I would advise not treader.serial = new ofSerial(); but just make ofSerial a member variable. Then setup your serial point after you add it to the vector to make sure you are setting up the copy, rather than the one that is initialized outside of the _readers vector.