int main (int argc, char *argv[]) { program_name = argv[0]; parse_args (argc, argv); char *sock_client = ACE_OS::tempnam (0, 0); ACE_LSOCK_Dgram sd ((ACE_UNIX_Addr) (sock_client)); if (ACE_OS::unlink (sock_client)) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "unlink"), -1); ACE_OS::free ((void *) sock_client); ACE_LSOCK_CODgram sc; if (sc.open (ACE_UNIX_Addr (rendezvous_codgram), ACE_Addr::sap_any) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "open"), -1); ACE_HANDLE handle = ACE_OS::open (file_name, O_RDONLY); if (handle == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "open"), -1); // Send the open file descriptor to the server! if (sc.send_handle (handle) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "send"), -1); char name[ACE_MAX_USERID]; ACE_OS::cuserid (name); if (sd.send (name, ACE_OS::strlen (name) + 1, ACE_UNIX_Addr (rendezvous_dgram)) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "send"), -1); if (ACE_OS::close (handle) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "close"), -1); return 0; }
int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { program_name = argv[0]; parse_args (argc, argv); char *sock_client = ACE_OS::tempnam (); ACE_LSOCK_Dgram sd ((ACE_UNIX_Addr) (sock_client)); if (ACE_OS::unlink (sock_client)) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("unlink")), -1); ACE_OS::free ((void *) sock_client); ACE_LSOCK_CODgram sc; if (sc.open (ACE_UNIX_Addr (rendezvous_codgram), ACE_Addr::sap_any) == -1) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("open")), -1); ACE_HANDLE handle = ACE_OS::open (file_name, O_RDONLY); if (handle == -1) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("open")), -1); // Send the open file descriptor to the server! if (sc.send_handle (handle) == -1) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("send")), -1); char name[ACE_MAX_USERID]; #if !defined (ACE_LACKS_CUSERID) ACE_OS::cuserid (name); #else name[0] = '.'; name[1] = '\0'; #endif if (sd.send (name, ACE_OS::strlen (name) + 1, ACE_UNIX_Addr (rendezvous_dgram)) == -1) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("send")), -1); if (ACE_OS::close (handle) == -1) ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("close")), -1); return 0; }