an strange deadlock seen on OSX. The CSocketMultiplexer deadlocks
with two threads, one waiting for m_polling to become false and
the other waiting for m_pollable to become true. The weird part
is that they're both false so the first thread should proceed.
It either didn't receive the broadcast when m_polling went to
false or it's not really checking the actual value of that flag.
I can't see how the former is possible and this change fixes the
latter.
lib/arch. This should make porting easier. Will probably
continue to refactor a little more, moving platform dependent
event handling stuff into lib/platform.
synergy.cpp and server.cpp into cmd/synergyd as synergyd.cpp.
Moved and renamed related files. Moved remaining source files
into lib/.... Modified and added makefiles as appropriate.
Result is that library files are under lib with each library
in its own directory and program files are under cmd with each
command in its own directory.