Library:
---------
-* Add support for fd passing in sendmsg/recvmsg.
- Scenario:
- We accept a connection from a client and need to pass the fd to another
- child we forked. socket_wrapper then needs to send the 'struct socket_info'
- to the child first and set it up there.
- Or do it like swrap_accept() and call getpeername() and getsockname().
-* Add support for threading.
+Goals:
+* Thread safety
+* The proposed way ==> - fd-passing for tcp sockets (for free)
+ Approach:
+ - tdb "in small". So a "db file".
+ - for each socket an entry in the db file
+ (file, mmap, robust mutex. e.g. one file per local ip addr)
+ - socket_info : structure in db. protected by pthread robust mutexes
+ - socket_info_fd : --> pointer into mmap area of db
+ - free-list
+ - fd-passing: pass index in array
+ - the last element we pass is not a fd but the index number in the
+ mmaped file
* Use realpath() in socket_wrapper_dir().
Testing: