I have N SDCards connected to my MacBook via USB. This is an OSX 10.6 MacBook business app with as many as N customers randomly inserting SDCards. My app recognizes each insertion with a Disk Arbitration DiskAppearedCallback and that callback processes the information in a file on the card and determines the USB locationID to identify which customer did the mount. My question is how to have the multiple callbacks be processed SEQUENTIALLY, i.e. I don't want any callback to be interrupted by another mount callback. I think that this is a critical section problem ... locks, semaphores, etc. Does anybody here have any suggestions?