Suggestion of combining some macros of processing solaris, macosx with other UNIX (original) (raw)

Frank Ding dingxmin at linux.vnet.ibm.com
Mon Aug 6 22:46:32 PDT 2012


Hi all, In source code "jdk\src\solaris\native\java\net\PlainDatagramSocketImpl.c", there are several macros in the form of

#ifdef AF_INET6 #if defined(solaris) || defined(MACOSX) // code for solaris and macosx (unix) [1] #endif #ifdef linux // code for linux #endif #else // code for non AF_INET6 #endif /* AF_INET6 */

The code blocks enclosed by the macro are method invocations of mcast_set_if_by_addr_v6(), mcast_set_if_by_addr_v4(), mcast_set_loop_v4(), mcast_set_loop_v6(), setHopLimit() and setTTL().

Other unix-like os, i.e. AIX, BSD and some other need exact calling sequence coded in block [1]. So I made a patch that transformed the above code into the following pattern

#ifdef AF_INET6 #ifdef linux // code for linux #else /* linux not defined / // code for UNIX #endif / linux / #else // non AF_INET6 #endif / AF_INET6 */

Could anybody take a look at my patch below and make comment? http://cr.openjdk.java.net/~youdwei/ojdk-533/webrev.00/

Thanks & Best regards, Frank



More information about the net-dev mailing list