Changeset 4203 for trunk/src/seismic_processing/ewspectra/ewspectra.c
- Timestamp:
- 05/05/11 12:56:45 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/seismic_processing/ewspectra/ewspectra.c
r4194 r4203 58 58 static SHM_INFO OutRegion; /* shared memory region to use for output */ 59 59 60 MSG_LOGO GetLogo ; /* requesting module,type,instid */60 MSG_LOGO GetLogo[1]; /* requesting module,type,instid */ 61 61 pid_t MyPid; /* Our own pid, sent with heartbeat for restart purposes */ 62 62 … … 853 853 int res; 854 854 int ret; 855 char msg[100];855 char date[100], *msgName; 856 856 double start, stop; 857 int modid, len, okMsg; 857 858 858 859 /* Tell the main thread we're ok … … 866 867 /* Get a message from transport ring 867 868 ************************************/ 868 res = tport_getmsg( &InRegion, &GetLogo, 1,869 res = tport_getmsg( &InRegion, GetLogo, 1, 869 870 &reclogo, &recsize, MSrawmsg, MaxMsgSize-1 ); 870 871 … … 899 900 } 900 901 } 902 903 res = sscanf( MSrawmsg, "%d %s %d", &modid, date, &len ); 904 if ( modid != MyModId ) 905 continue; 906 msgName = "ACTIVATE_MODULE"; 907 okMsg = (res == 3); 908 if ( !okMsg ) { 909 sprintf( errText, "malformed %s msg i%d m%d t%d in %s",msgName, 910 (int) reclogo.instid, 911 (int) reclogo.mod, (int)reclogo.type, inRing ); 912 ewspectra_status( TypeError, ERR_BADMSG, errText ); 913 continue; 914 } 901 915 902 916 /* Process retrieved msg (res==GET_OK,GET_MISS,GET_NOTRACK) 903 917 ***********************************************************/ 904 strncpy( msg, MSrawmsg, recsize ); 905 msg[recsize] = 0; 906 start = atof( msg ); 907 if ( start < 0 ) { 908 start += time(NULL); 909 } else if ( EWSConvertTime (msg, &start) == EW_FAILURE ) { 910 sprintf( errText, "COMPUTE_SPECTRA message w/ bad time" ); 911 ewspectra_status( TypeError, ERR_BADMSG, errText ); 912 } 913 stop = start + atoi( msg+14 ); 914 915 process_timespan( wsh, start, stop ); 918 start = atof( date ); 919 if ( start < 0 ) { 920 start += time(NULL); 921 } else if ( EWSConvertTime (date, &start) == EW_FAILURE ) { 922 sprintf( errText, "%s message w/ bad time (%s)", msgName, date ); 923 ewspectra_status( TypeError, ERR_BADMSG, errText ); 924 } 925 stop = start + len; 926 927 process_timespan( wsh, start, stop ); 916 928 917 929 } /* end of while */ … … 1029 1041 } 1030 1042 if ( find_triggers ) { 1031 int geti = GetInst( "INST_WILDCARD", &(GetLogo .instid) );1032 int getm = GetModId( "MOD_WILDCARD", &(GetLogo .mod) );1033 int gett = GetType( "TYPE_ COMPUTE_SPECTRA", &(GetLogo.type) );1043 int geti = GetInst( "INST_WILDCARD", &(GetLogo[0].instid) ); 1044 int getm = GetModId( "MOD_WILDCARD", &(GetLogo[0].mod) ); 1045 int gett = GetType( "TYPE_ACTIVATE_MODULE", &(GetLogo[0].type) ); 1034 1046 int getMsg = 0; 1035 1047 if ( ( MSrawmsg = (char *) malloc(MaxMsgSize) ) == NULL ) … … 1044 1056 if ( getm ) 1045 1057 logit( "e", "%s: MOD_WILDCARD unknown; exiting!\n", Argv0 ); 1046 if ( get i)1047 logit( "e", "%s: TYPE_ COMPUTE_SPECTRAunknown; exiting!\n", Argv0 );1058 if ( gett ) 1059 logit( "e", "%s: TYPE_ACTIVATE_MODULE unknown; exiting!\n", Argv0 ); 1048 1060 ws2ts_purge( wsh, NULL, NULL ); 1049 1061 exit(1); … … 1071 1083 do 1072 1084 { 1073 res = tport_getmsg( &InRegion, &GetLogo, 1,1085 res = tport_getmsg( &InRegion, GetLogo, 1, 1074 1086 &reclogo, &recsize, MSrawmsg, MaxMsgSize-1 ); 1075 1087 } while (res !=GET_NONE);
Note: See TracChangeset
for help on using the changeset viewer.