Пример #1
0
static int process_decrement(void * vinstance, wsdata_t* input_data,
                             ws_doutput_t * dout, int type_index) {

     proc_instance_t * proc = (proc_instance_t*)vinstance;
     proc->decrement_cnt++;

     event_data_t * edata = get_edata(proc, input_data, 1);
     if (!edata) {
          return 0;
     }
     if (edata->cnt > MIN_EVENT_CNT) {
          edata->cnt--;
     }
     stringhash5_unlock(proc->cntquery_table);
     return 0;
}
Пример #2
0
int main(int argc, char *argv[])
{
    int e;
    int f=3333;
    static int g;
    static int h=4444;

    printf("program text (etext)      %p\n", (void*)get_etext());
    printf("initialized data (edata)  %p\n", (void*)get_edata());
    printf("uninitialized data (end)  %p\n", (void*)get_end());

    printf("&e=%p\n", &e);
    printf("&f=%p\n", &f);
    printf("&g=%p\n", &g);
    printf("&h=%p\n", &h);
    printf("This test is only for Apple Mac\n");
    return 0;
}
Пример #3
0
//// proc processing function assigned to a specific data type in proc_io_init
//return 1 if output is available
// return 0 if not output
static int process_query(void * vinstance, wsdata_t* input_data,
                         ws_doutput_t * dout, int type_index) {

     proc_instance_t * proc = (proc_instance_t*)vinstance;
     proc->query_cnt++;

     event_data_t * edata = get_edata(proc, input_data, 0);
     if (!edata) {
          return 0;
     }
     if (edata->cnt >= proc->min_cnt) {
          if (proc->add_count && (input_data->dtype == dtype_tuple)) {
               tuple_member_create_uint(input_data, (uint32_t)edata->cnt,
                                        proc->label_count);
          }
          ws_set_outdata(input_data, proc->outtype_meta[type_index], dout);
          proc->outcnt++;
     }
     stringhash5_unlock(proc->cntquery_table);
     return 0;
}
Пример #4
0
static inline int
readonly_data_p(const char *p)
{
  return (void*)get_etext() < p && p < (void*)get_edata();
}