I have a browser plugin based on the FireBreath framework (www.firebreath.org) that works perfectly in Windows but has a problem in Mac OS. The plugin creates a boost working thread that blocks waiting for events from the function SCardGetStatusChange that is part of the Windows API and in Linux and Mac OS comes from pcsclite (http://pcsclite.alioth.debian.org/pcsclite.html).
In Windows all works perfectly. However in Mac OS I need to have two problem fixed:
1. Notifications from the worker thread are not working, the function in WebCardAPI.cpp:144 is not called as it is in Windows. Probably the marshaling of objects across threads is being done in an incorrect way that Windows manages to get across?
2. For some unknown reason I had to leave the "echo" method in WebCardAPI.h:38 and the corresponding member function in the class. In Windows I can safely remove those but in Mac OS if I remove it the plugin would not load. This is more an annoyance than a blocking issue but I would like to understand why is that and fix it.
The code can be seen at https://bitbucket.org/AdrianC/scardcom and I can send a reader if you need it for testing. I think for somebody who is a boost ninja and knows FireBreath the error is probably easy to spot. Knowing PC/SC would definitely help. Without knowledge of the frameworks in use it might be a complex task to find the bug so I guess I'm calling really for the experts out there.