| | 2999 | | pvmbeatask() |
| | 3000 | | { |
| | 3001 | | int sbf = 0, rbf = 0; |
| | 3002 | | int prver; |
| | 3003 | | int cookie; |
| | 3004 | | int cc; |
| | 3005 | | char **ep=0; |
| | 3006 | | char authfn[PVMTMPNAMLEN];
|
| | 3007 | | int authfd = -1; |
| | 3008 | | int i; |
| | 3009 | | char buf[16]; |
| | 3010 | | char *p; |
| | 3011 | | struct pvmminfo minfo; |
| | 3012 | | int outtid, outctx, outtag; |
| | 3013 | | int trctid, trcctx, trctag; |
| | 3014 | | int need_trcinfo = 0; |
| | 3015 | | int new_tracer = 0; |
| | 3016 | | char tmask[ 2 * TEV_MASK_LENGTH ];
|
| | 3017 | | int tbuf, topt; |
| | 3018 | | int mid; |
| | 3019 | | #ifdef IMA_BEOLIN |
| | 3020 | | struct hostent *hostaddr; |
| | 3021 | | char namebuf[128]; |
| | 3022 | | #endif |
| | 3023 | | TEV_DECLS
|
| | 3024 | | #ifdef WIN32 |
| | 3025 | | |
| | 3026 | | |
| | 3027 | | |
| | 3028 | | |
| | 3029 | | for (ep=environ;*ep;ep++) |
| | 3030 | | pvmputenv(*ep); |
| | 3031 | | if (WSAStartup(0x0101, &WSAData) != 0) |
| | 3032 | | { |
| | 3033 | | fprintf(stderr,"\nWSAStartup() failed\n"); |
| | 3034 | | ExitProcess(1); |
| | 3035 | | } |
| | 3036 | | |
| | 3037 | | |
| | 3038 | | |
| | 3039 | | #endif |
| | 3040 | | |
| | 3041 | | |
| | 3042 | | |
| | 3043 | | if (pvmmytid != -1) |
| | 3044 | | return 0; |
| | 3045 | | |
| | 3046 | | pvmmydsig = pvmgetdsig(); |
| | 3047 | | |
| | 3048 | | TEV_EXCLUSIVE;
|
| | 3049 | | |
| | 3050 | | authfn[0] = 0; |
| | 3051 | | |
| | 3052 | | #ifndef WIN32 |
| | 3053 | | pvmmyupid = getpid(); |
| | 3054 | | #else |
| | 3055 | | pvmmyupid = _getpid(); |
| | 3056 | | #endif |
| | 3057 | | |
| | 3058 | | |
| | 3059 | | |
| | 3060 | | |
| | 3061 | | |
| | 3062 | | |
| | 3063 | | if (p = getenv("PVMEPID")) |
| | 3064 | | cookie = atoi(p); |
| | 3065 | | else |
| | 3066 | | cookie = 0; |
| | 3067 | | |
| | 3068 | | |
| | 3069 | | |
| | 3070 | | #ifndef WIN32 |
| | 3071 | | if ((pvm_useruid = geteuid()) == -1) { |
| | 3072 | | pvmlogerror("can't getuid()\n"); |
| | 3073 | | cc = PvmSysErr;
|
| | 3074 | | goto bail2; |
| | 3075 | | } |
| | 3076 | | pvmchkuid( pvm_useruid ); |
| | 3077 | | #else |
| | 3078 | | if (!username) |
| | 3079 | | username = MyGetUserName(); |
| | 3080 | | #endif |
| | 3081 | | |
| | 3082 | | if (p = getenv("PVMTASKDEBUG")) { |
| | 3083 | | pvmdebmask = pvmstrtoi(p); |
| | 3084 | | if (pvmdebmask) { |
| | 3085 | | pvmlogprintf("task debug mask is 0x%x (%s)\n", |
| | 3086 | | pvmdebmask, debug_flags(pvmdebmask)); |
| | 3087 | | } |
| | 3088 | | } |
| | 3089 | | |
| | 3090 | | #ifndef IMA_MPP |
| | 3091 | | if (cc = mksocs()) |
| | 3092 | | goto bail2; |
| | 3093 | | #endif |
| | 3094 | | |
| | 3095 | | |
| | 3096 | | |
| | 3097 | | |
| | 3098 | | |