We looked into the source to find out what this function actually does and how to use it. The function overrides the default_socket_timeout setting from your php.ini file
You can retrieve the current timeout length for each timeout type by calling the function as:
imap_timeout(timeout_type);
or
imap_timeout(timeout_type,-1);
You can set the timeout length for any of the timeout types by setting the timeout value to a number of seconds.
imap_timeout(timeout_type,<number of seconds>);
The timeout types are as follows:
1: Open
2: Read
3: Write
4: Close
It does not appear that the close type has been implemented.